我是 Ruby on Rails 的新手。我有 2 个模型:Device
和Property
. Device
包含以下字段:id,name
和Property
包含:文件id,device_id,speed,time
。是模型device_id
中表的外键。所以我的模型 device.rb 和 property.rb 如下所示:id
Device
设备.rb
class Device < ActiveRecord::Base
attr_accessible :name
has_many :properties
end
属性.rb
class Property < ActiveRecord::Base
attr_accessible :device_id, :speed, :time
belongs_to :device
end
我必须在下拉列表中填充设备详细信息。它工作正常。从下拉列表中选择名称时,我还必须从属性数据库中获取值。
控制器代码通过传递设备 id 来获取值,如下所示:
def show
@properties = Property.find(params[:device][:id])
end
属性表中的测试值如下:
id device_id time speed
1 1 13:23:00 13
2 2 23:20:00 63.8
3 1 10:35: 100.56
设备型号:
id name
1 2345
2 2345
在选择设备型号 id 1 时,我必须获取以下详细信息:
id device_id time speed
1 1 13:23:00 13
3 1 10:35:00 100.56
在 show.html.erb 中查看如下:
<% if (@properties.blank?) %>
<p><strong>Search results not found.</strong></p>
<% else %>
<p><strong>Available employe Details are listed below <strong></p>
<ul>
<% @properties.each do |c| %>
<li>
<b><%=@properties.id%> <%=@properties.speed%> <%=@properties.time%></b>
</li>
<% end %>
</ul>
<% end %>
运行此程序时出现此错误
undefined method `each' for #<Property:0x3ee3ff8>
10: <% else %>
11: <p><strong>Available employe Details are listed below <strong></p>
12: <ul>
13: <% @properties.each do |c| %>
14: <li>
15: <b><%=@properties.id%> <%=@properties.speed%> <%=@properties.time%></b>
16: </li>
但是,当按照以下方式拧 show.html.erb 时,只有一个数据正在获取
id device_id time speed
1 1 13:23:00 13
<% if (@properties.blank?) %>
<p><strong>Search results not found.</strong></p>
<% else %>
<p><strong>Available employe Details are listed below <strong></p>
<ul><li>
<b><%=@properties.id%> <%=@properties.speed%> <%=@properties.time%></b>
</li></ul>
<% end %>