无法访问 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"}

确保 postid 2 存在于数据库中。

看起来 post 不存在,这就是它返回 nil 的原因。