2017-04-21 107 views
0

我有一个表reviewsusersmovies都有很多评论。审查是参考movieuser的元组(id, movie_id, user_id, rating, comment)。如果在movie显示页面上,我添加一个按钮“发表评论”,链接到new_review_path,我将如何强制访问并设置user_idmovie_id引用来自reviews_controller的内部?如何创建引用两个其他对象的新模型对象?

回答

1

我假设一个Review对象属于两个UserMovie的时间,对于这种情况下,你可以使用嵌套路由让movie_id在URL

resources :movies do 
    resources :reviews 
end 

然后查看器里面,您可以获取Movie对象通过,

movie = Movie.find(params[:movie_id]) 

而且我假设User对象是current_user,如果是这样的话,你可以这样做

Review.new(movie_id: movie.id, user_id: current_user.id) 

希望帮助!

+0

是的,确切!谢谢!另外,如何将我的评级和评论与ID一起传递到Review.new调用中?我可以访问'review_params',我可以从那里访问吗? –

+0

您可以创建一个表单将这些值传递给动作,如果您有疑问,可以为此添加单独的问题。 – RSB

0

如果usermovies都有reviews那么你可以使用polymorphic associations了解更多详情请查看RailsCast OR Rails guide