我是初学者,有些事情我有点困惑。
我有一个类似于 Metacritic for TV Shows 的网站,我的两个表格是节目和评论。
有我的节目(如电视节目)控制器
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