私の Rails アプリには、デバイス ポートのリスト ビューがあり、各デバイス ポートはデバイスに属しています。
device.rb
has_many :device_ports, :foreign_key => "device_id"
device_port.rb
belongs_to :device
device_port_controller.rb
def list
@device_ports = DevicePort.paginate(:all, :page => params[:page], :per_page => 100, :order => "name")
@devices = Device.find(:all)
end
list.rhtml
<table width="100%">
<tr>
<th>Name</th>
<th>Device</th>
</tr>
<%= render :partial => 'device_port/list_item', :collection => @device_ports %>
</table>
_ list_item.rhtml
<tr>
<td><a href='/device_port/update/<%= list_item.id %>'><%= list_item.name %></a></td>
<td><%= list_item.device_id %></td>
</tr>
だから私はテーブルdevice_id
から表示していdevice_ports
ますが、実際には代わりname
にテーブルの列を表示したいです。devices
私はアプリの他の場所で、正しいデバイス名が選択された事前選択されたドロップダウンを持っている非常に似た、おそらく少し難しいことをしましたが、選択メニューのコンテキストでそれを行う方法を理解できないようです。
@devices
上記のコントローラーの変数にデバイスがあり、を使用して検索しようとしましたlist_item.device_id
が、機能していないようです。
それはおそらく非常に簡単なことですが、望ましい結果を得るための適切な方法を見つけることができないようです.