1

我是初学者,有些事情我有点困惑。

我有一个类似于 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
4

0 回答 0