【发布时间】:2018-02-01 16:02:48
【问题描述】:
我正在制作一个简单的网站来学习 RoR。它允许用户发布电影评论,但我想在我的根视图中实现一个链接,以显示数据库中的所有评论。我怎么做?
我希望能够<%= link_to 'Reviews', reviews_path %>,但我的reviews#index URI 模式是/movies/:movie_id/reviews
为了提取数据库中的所有评论,我在评论模型中添加了什么?
我的评论控制器:
class ReviewsController < ApplicationController
def create
@movie = Movie.find(params[:movie_id])
@review = @movie.reviews.create(review_params)
redirect_to movies_path(@movie)
end
private
def review_params
params.require(:review).permit(:email, :comment)
end
end
审查模型:
class Review < ApplicationRecord
belongs_to :movie
end
还有我的根视图:
<h3>All Reviews:</h3>
<!-- put link here -->
<h3>Sort By:</h3>
<p>
<%= link_to 'Release', movies_path(:sort_param => "release") %>
<%= link_to 'Title', movies_path(:sort_param => "title") %>
</p>
<h1>Popular Movies</h1>
<% @movies.each do |m| %>
<h2>Title</h2>
<%= m.title %>
<%= m.release %>
<%= link_to 'Show', movie_path(m) %>
<% end %>
编辑:我查看了this 解决方案,但我不确定将代码放在哪里。我试图将它放入 Review 的 index 方法中,但出现错误:
Couldn't find all Reviews with 'id': (all, {:order=>"created_at DESC", :limit=>10})
【问题讨论】:
标签: ruby-on-rails