1

コントローラでフォローしたリモートデータベースのテーブル値を表示する必要があります

      def show
        @dev = Detail.find(:all)
        #raise @devices.inspect
      end

show.html.erb

<h1>TrDeviceDetails#show</h1>
<p>Find me in app/views/tr_device_details/show.html.erb</p>
<%= @dev %>

このページには、値を含むテーブルが表示されました。

[#<Detail UniqueDeviceID: 14448, SlNo: 609">, #<Detail UniqueDeviceID: 14448, SlNo: 610">].

エラーが発生した場合にのみ表示する必要があり SlNoます<%=Detail.find(:SlNo)%>

undefined method `to_i' for :SlNo:Symbol
4

3 に答える 3

0

showメソッドのクエリを変更しないでください。そのままにしてください。

ただし、上記のクエリは、1つだけではなく、ハッシュで詳細テーブルの合計レコードを返します。

のみを取得するにはSlNo、各レコードをループしてから、それぞれを取得する必要がありますSlNo

したがって、show htmlでは、次のようにします。

show.html.erb

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

<%= dev.SlNo %> #displays only the SlNo.

<% end %>
于 2013-03-08T07:30:13.357 に答える
0

エラーの発生を避けるために、each_with_index を使用することをお勧めします。

<% @dev.each_with_index do |page, index| %>

<% end %>
于 2013-03-08T07:27:37.857 に答える
0

showコントローラーのメソッドですべてのデバイスが既に見つかりました。すべてのレコードを反復処理する必要があります

<% @dev.each do |d| %>
  Dev id: <%= d.SlNo %>
<% end %>

また、慣習に従って、列名は小文字で区切り、区切りにする必要があります_

于 2013-03-08T07:14:10.620 に答える