【发布时间】:2012-10-21 09:54:34
【问题描述】:
我有一个用户模型:
class User < ActiveRecord::Base
has_many :cards
end
还有一个卡片模型:
class Card< ActiveRecord::Base
belongs_to :user, :foreign_key => "owner_id"
end
卡片模型还有一个名为“owner_id”的属性,我想以如下方式使用它: Card.first.owner 将检索拥有该卡的用户
我的问题是,我知道 rails 会自动连接关联中的 id,但这不会发生。
在CardController中,rails卡在create action就行了
@card=current_user.cards.new(params[:card])
然后说unknown attribute: user_id
我已经完成了db:migrate,但它仍然无法正常工作。
我必须执行以下操作才能使其正常工作吗?
@card = Card.new(params[:card])
@card.owner_id=current_user.id
还是我错过了什么?
【问题讨论】:
-
不确定是这种情况,但您在foreign这个词中有错字
-
哎呀,代码本身拼写正确
-
有一个我想使用的 owner_id 列
-
我希望能够通过@card.owner 获取任何卡的所有者。另外,我想通过@user.cards查看用户的所有卡片
-
好的,我明白了。请参阅下面的答案
标签: ruby-on-rails-3 associations has-many belongs-to