我是初学者,我有点困惑。
我的网站类似于电视节目的Metacritic,我的两张桌子是节目和评论。
有我的节目(如在电视节目中)控制器
def show
@show = Show.find(params[:id])
@reviews = @show.reviews.paginate(page: params[:page])
@ratings = @show.reviews.average("rating")
respond_to do |format|
format.html # show.html.erb
format.json { render json: @show }
end
end
和我的节目视图
<p id="notice"><%= notice %></p>
<div class="row">
<aside class="span4">
<section>
<h1>
<p>
<%= @show.name %> ( <%= @show.year %>
)
</p>
<p>
<b>Synopsys:</b>
<%= @show.synopsys %>
</p>
<p>
<b>Note:</b>
<%= @ratings %>
</p>
<%= image_tag @show.avatar.url %>
</h1>
</section>
<section>
</section>
</aside>
<div class="span8">
<% if @show.reviews.any? %>
<h3>Reviews (<%= @show.reviews.count %>)</h3>
<ol class="reviews">
<% @reviews.each do |review| %>
<%= review.content %> <br> <%= review.source %> | <b><%= review.rating %> </b><br><br>
<br><br>
<% end %>
</ol>
<%= will_paginate @reviews %>
现在,我正试图在我的家庭视图(控制器主页)上做类似的事情。我想将所有节目添加到数据库及其总体评级。问题,如果我将我的节目控制器的内容复制到我的家庭控制器,审查是未定义的,我不明白为什么。 有人可以帮忙吗?
class HomeController < ApplicationController
def index
@shows = Show.all
@ratings = @show.reviews.average("rating")
respond_to do |format|
format.html # show.html.erb
format.json { render json: @show }
end
def about
end
def contact
end
end
end