RubyonRailsは初めてです。私は2つのモデルを持っています:Device
とProperty
。Device
次のフィールドが含まれます:id,name
およびProperty
含む:ファイルid,device_id,speed,time
。モデルdevice_id
のテーブルの外部キーです。したがって、私のモデルdevice.rbとproperty.rbは次のようになります。id
Device
device.rb
class Device < ActiveRecord::Base
attr_accessible :name
has_many :properties
end
property.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
デバイスモデルID1を選択しているときに、次の詳細を取得する必要があります。
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を絞り込んでいる間、データの1つだけが取得されます
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 %>