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' %>

出力は正常です。つまり、1 つのことを除いて、タイトル、価格、サイズなどと共に各ギアを確認できます。各 Gear オブジェクトのすべてのフィールドを奇妙な配列でリストするテーブルの上に配列を取得しています。Gear がない場合は、配列 "[]" の空の括弧が表示されます。なぜそれが起こっているのかわかりません。どんな助けでも感謝します、ありがとう。

これは文字通り、テーブルの上のビューがどのように見えるかです:

[#<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の代わりに使用することをお勧めします= @gear.each

また、要素の「リスト」を扱う場合は、変数に複数形を使用することを強くお勧めします。したがって、次のように書き換えます。

- @gears.each

于 2013-09-15T17:00:53.237 に答える
3

問題は次の行にあります。

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

そのはず

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

<%=構文は処理/コンパイルされているものをすべて表示しますが、構文<%は結果を表示せずに処理/コンパイルを行います

于 2013-09-15T16:58:54.563 に答える