使用Rails 4.0.0& ruby 2.0.0p247
我在Rails中已经多次列出了数据库中的所有项目。我对这种情况下发生的事情感到困惑。我只是想列出用户拥有的所有“Gears”。所以我在我的控制器中有一个特定的动作:
def launch_index
@gear = current_user.gears.paginate(page: params[:page], :per_page => 10)
end
尝试列出属于用户的所有齿轮并不奇怪。在视图中,这是我的代码:
<table class="store_gear_list table table-bordered table-striped">
<thead>
<tr>
<th>Gear</th>
<th>Title</th>
<th>Price <span style="font-size: 50%;">( Per Day)</span></th>
<th>Size</th>
<th>Edit/Delete</th>
</tr>
</thead>
<%= @gear.each do |gear| %>
<tr>
<td><%= image_tag gear.image_url(:thumb), :class => "thumbnail_gear_store" %>
</td>
<td><%= gear.title %></td>
<td>$<%= gear.price %></td>
<td><%= gear.size %></td>
<td><ul>
<li style="float:left; padding-left: 3px;"><%= link_to 'Delete', gear_path(gear), confirm: 'Are you sure?', method: :delete, :class => 'btn btn-mini btn-danger' %></li>
</ul></td>
</tr>
<% end %>
</table></br>
<%= will_paginate @gear, class: 'flickr_pagination' %>
输出正常,这意味着我可以看到每个Gear以及标题,价格,尺寸等,除了一件事。我在表格上方得到一个数组,列出了一个奇怪数组中每个Gear对象的每个字段,如果没有Gears,我只看到数组“[]”的空括号。我不知道为什么会这样。任何帮助将不胜感激,谢谢。
以下是表格上方的视图:
[#<Gear id: 391, user_id: 116, title: "Snowboard", size: "152", created_at: "2013-09-15 16:14:15", updated_at: "2013-09-15 16:14:15", price: 89, sub_category_id: 15, image: "7b1feb6ab49fd5d5f16531c7783aab7f.jpg", category_id: nil, remote_image_url: nil, image_a: nil, color: "", year: 2013, latefee: nil, cancellation: nil, minrental: nil, policy: nil, about: nil, address: ""555 Street, city: "city", state: "NY", zip: "78990", latitude: nil, longitude: nil, gmaps: true, country: nil, image_b: nil, image_c: nil, image_d: nil, image_e: nil, image_f: nil, image_g: nil, image_h: nil, image_i: nil>]
这里发生了什么?
答案 0 :(得分:3)
问题出在这一行:
<%= @gear.each do |gear| %>
应该是
<% @gear.each do |gear| %>
<%=
语法显示正在处理/编译的内容,而<%
语法执行处理/编译而不显示结果
答案 1 :(得分:3)
我建议您使用- @gear.each
代替= @gear.each
。
我还强烈建议您在处理元素的“列表”时使用复数形式。所以把它改写成:
- @gears.each