Ruby on rails 设置嵌套模型表的默认值

Ruby on rails 设置嵌套模型表的默认值,ruby-on-rails,devise,has-many,belongs-to,Ruby On Rails,Devise,Has Many,Belongs To,我的应用程序中有两个模型:Post和Review,嵌套在Post中。它们都与Desive gem使用的用户模型有关。那里所有的关系似乎都是正确的。 问题是,当我想要获得Post author时,我可以在我的Post控制器(create方法)中这样做: 但我也做了fpr审查: def create @post = Post.find(params[:postl_id]) @review = @post.reviews.create(review_params) @review.user_id =

我的应用程序中有两个模型:Post和Review,嵌套在Post中。它们都与Desive gem使用的用户模型有关。那里所有的关系似乎都是正确的。 问题是,当我想要获得Post author时,我可以在我的Post控制器(create方法)中这样做:

但我也做了fpr审查:

def create
@post = Post.find(params[:postl_id])
@review = @post.reviews.create(review_params)
@review.user_id = current_user.id
redirect_to post_path(@post)
end
当我创建评论时,我仍然在评论表的user_id列中看不到任何数据


请告诉我我错在哪里。

进一步说明:问题是设置
user\u id
@dickeboy后,您没有保存
@review
,但OP说他在
user\u id
中没有看到任何数据,这意味着其他列有数据。所以他一定是跳过了,把保存行粘贴到了这里。我知道我漏掉了什么,谢谢你们两个给我看清楚了。
@review = @post.reviews.create(review_params.merge({:user_id => current_user.id}))
@review = @post.reviews.create(review_params.merge({:user_id => current_user.id}))