0

使用 Rails 4.0.0 & ruby​​ 2.0.0p247

我已经在 Rails 中多次列出数据库中的所有项目。我对在这种情况下发生的事情感到困惑。我只是想列出用户拥有的所有“齿轮”。所以我在我的控制器中有一个特定的操作:

  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 对象的每个字段,如果没有 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>]

这里发生了什么?

4

2 回答 2

3

问题出在这一行:

<%= @gear.each do |gear| %>

它应该是

<% @gear.each do |gear| %>

<%=语法显示正在处理/编译的任何内容,而语法<%进行处理/编译而不显示结果

于 2013-09-15T16:58:54.563 回答
3

我建议您使用- @gear.each而不是= @gear.each.

我还强烈建议您在处理元素的“列表”时使用复数形式的变量。所以改写成:

- @gears.each

于 2013-09-15T17:00:53.237 回答