1

我需要show.html.erb从远程服务器DB值在Ruby on Rails的

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

页面显示来自远程db.for,我并在控制器

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

下表中的值用值显示表格。

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

我只需要显示SlNo。当我写<%=Detail.find(:SlNo)%>得到错误

undefined method `to_i' for :SlNo:Symbol 

回答

0

你已经发现的所有图谋在控制器的show方法。您需要遍历所有记录

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

也由约定去的列名应在downcase与_

0

分离,我会建议你应该使用each_with_index,就会避免错误occurence。

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

<% end %> 
0

不要更改show方法中的查询。保持原样。

但是,上述查询返回散列中的详细表的总记录,而不仅仅是一个。

为了仅获得SlNo,您需要遍历每条记录,然后分别获得SlNo

在显示HTML

等做了以下内容:

show.html.erb

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

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

<% end %>