无法访问 belongs_to 关系的父项
Can't access the parent for a belongs_to relationship
具有以下关联:
class User < ActiveRecord::Base
has_many :posts
has_many :comments
end
class Post < ActiveRecord::Base
belongs_to :user
has_many :comments
end
class Comment < ActiveRecord::Base
belongs_to :user
belongs_to :post
end
在创建 Comment
实例后的 rails 控制台中,我可以访问它的关联 Post
:
comment = current_user.comments.create(post_id: 2, body: "Sint voluptatem dolor a veniam pariatur")
comment.post # returns it's parent
但控制器中的动作相同,returns nil
:
@comment = current_user.comments.create(comment_params)
@comment.post # => nil
@comment.post_id # => 2
comment_params
的内容是:
puts comment_params
=> {"body"=>"Sint voluptatem dolor a veniam pariatur", "post_id"=>"2"}
确保 post
和 id
2 存在于数据库中。
看起来 post
不存在,这就是它返回 nil
的原因。
具有以下关联:
class User < ActiveRecord::Base
has_many :posts
has_many :comments
end
class Post < ActiveRecord::Base
belongs_to :user
has_many :comments
end
class Comment < ActiveRecord::Base
belongs_to :user
belongs_to :post
end
在创建 Comment
实例后的 rails 控制台中,我可以访问它的关联 Post
:
comment = current_user.comments.create(post_id: 2, body: "Sint voluptatem dolor a veniam pariatur")
comment.post # returns it's parent
但控制器中的动作相同,returns nil
:
@comment = current_user.comments.create(comment_params)
@comment.post # => nil
@comment.post_id # => 2
comment_params
的内容是:
puts comment_params
=> {"body"=>"Sint voluptatem dolor a veniam pariatur", "post_id"=>"2"}
确保 post
和 id
2 存在于数据库中。
看起来 post
不存在,这就是它返回 nil
的原因。