Rails 5控制器将数据从数据库转储为数组

时间:2016-12-19 20:02:47

标签: ruby-on-rails ruby ruby-on-rails-5

我刚开始学习Ruby on Rails。我在movies_controller中有以下代码。

class MoviesController < ApplicationController
   def index
     @movies = Movie.all
   end
end

和我的index.html.erb有一个表结构来显示数据库中的数据,如下所示:

<h4><%= pluralize(@movies.size, 'Movie') %> Found</h4>

   <table>
     <tr>
       <th>Movie Title</th>
       <th>Rating</th>
       <th>Gross Revenue</th>
     </tr>
     <%= @movies.each do |movie| %>
     <tr>
      <td><%= movie.title %></td>
      <td><%= movie.rating %></td>
      <td><%= number_to_currency(movie.total_gross) %></td>
    </tr>
    <% end %>
</table>

index.html.erb首先将整个电影数据转储为数组,然后在上面显示的表结构中显示其下方的数据。请问我有什么问题?感谢。

2 个答案:

答案 0 :(得分:1)

从每个块中删除=符号

<% @movies.each do |movie| %>
  <tr>
    <td><%= movie.title %></td>
    <td><%= movie.rating %></td>
    <td><%= number_to_currency(movie.total_gross) %></td>
  </tr>
<% end %>

答案 1 :(得分:1)

启动循环时,您还有一个=。该页面应该看起来像

<h4><%= pluralize(@movies.size, 'Movie') %> Found</h4>

   <table>
     <tr>
       <th>Movie Title</th>
       <th>Rating</th>
       <th>Gross Revenue</th>
     </tr>
     <% @movies.each do |movie| %>
     <tr>
      <td><%= movie.title %></td>
      <td><%= movie.rating %></td>
      <td><%= number_to_currency(movie.total_gross) %></td>
    </tr>
    <% end %>
</table>