Tag: association

Rails belongs_to association(with:class_name)返回nil

我对Rails开发相对较新,而且我有一个小的关联问题。 我想命名一个与它所链接的模型不同的关联。 我有以下两种型号: class User < ActiveRecord::Base has_many :events end class Event “User” # So we can call event.admin to retrieve the User who owns this Event end 我建立一个用户如下: event = event.create! :title => “New Event” user = User.create! :username => “thinkswan” user.events << event user.save 当我跳进控制台时,我收到以下内容: irb> user = User.find(1) irb> user.events => [#] […]

通过具有范围的关联保存时丢失属性(Rails 4.0.0)

代码(Rails 4.0.0) class Track { where(:artist_tracks => { :artistic_role_id => 1 }) }, :through => :artist_tracks, :source => :artist end class ArtistTrack < ActiveRecord::Base belongs_to :artist belongs_to :track belongs_to :artistic_role end class Artist :artist_tracks end 寻找作品 # artist_tracks.artistic_role_id is properly set to “1” 2.0.0p195 :003 > Track.last.owning_artists Track Load (1.1ms) SELECT “tracks”.* FROM “tracks” ORDER […]

Rails:ActiveRecord :: HasManyThroughSourceAssociationNotFoundError:找不到源关联

我有以下代码(有点简化…… create_table :signatures do |t| t.integer :signer_id t.integer :card_id t.timestamps end 模型看起来像…… class Signature < ActiveRecord::Base belongs_to :card belongs_to :user end class Card :signatures, :foreign_key => “card_id” end class User “Card”, :foreign_key => “sender_id” has_many :received_cards, :class_name => “Card”, :foreign_key => “recipient_id” has_many :signatures has_many :signed_cards, :through => :signatures, :foreign_key => “signer_id” end 我使用rails控制台看到以下错误… ruby-1.9.2-p0 […]

获取fields_for和accepts_nested_attributes_for以使用belongs_to关系

我似乎无法使用Rails 2.3的新的accepts_nested_attributes_for工具在rails视图中为belongs_to关系生成嵌套表单。 我确实检查了许多可用的资源,看起来我的代码应该正常工作,但fields_for爆炸了我,我怀疑它与我如何配置嵌套模型有关。 我遇到的错误是一个常见的错误原因: ‘@account[owner]’ is not allowed as an instance variable name 以下是涉及的两个模型: class Account ‘User’, :foreign_key => ‘owner_id’ accepts_nested_attributes_for :owner has_many :users end class User < ActiveRecord::Base belongs_to :account end 也许这就是我在做’rong’的地方,因为帐户可以拥有’所有者’,可能是’用户’,但用户只有一个’帐户’,基于用户模型account_id键。 这是new.html.haml中的视图代码,它炸毁了我: – form_for :account, :url => account_path do |account| = account.text_field :name – account.fields_for :owner do |owner| = owner.text_field :name 这是新操作的控制器代码: class […]