我需要在远程db.for中显示我在控制器中执行的表值
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
答案 0 :(得分:0)
您已经在控制器的show
方法中找到了所有设备。您需要遍历所有记录
<% @dev.each do |d| %>
Dev id: <%= d.SlNo %>
<% end %>
按照惯例,列名称应为小写,分隔为_
答案 1 :(得分:0)
我建议你应该使用each_with_index,这样可以避免错误发生。
<% @dev.each_with_index do |page, index| %>
<% end %>
答案 2 :(得分:0)
请勿在show方法中更改查询。保持原样。
但是,上面的查询返回哈希中详细信息表的总记录,而不仅仅是一个。
为了只获取SlNo
,您需要遍历每条记录,然后为每条记录获取SlNo
。
因此,在您的show html中执行以下操作:
<强> show.html.erb 强>
<% @dev.each do |dev| %>
<%= dev.SlNo %> #displays only the SlNo.
<% end %>