我有一個下拉像這樣我的網頁上:如何從視圖訪問嵌套模型?
<p>
<%= f.label :episode_id %><br />
<%= f.collection_select(:episode_id, @episodes, :id, :show) %>
</p>
一個插曲都有一個id和belongs_to
一場演出具有名字。在下拉列表中,我想顯示節目名稱。 :show.name
無法顯示名稱。我該怎麼做呢?要做到這一點
我有一個下拉像這樣我的網頁上:如何從視圖訪問嵌套模型?
<p>
<%= f.label :episode_id %><br />
<%= f.collection_select(:episode_id, @episodes, :id, :show) %>
</p>
一個插曲都有一個id和belongs_to
一場演出具有名字。在下拉列表中,我想顯示節目名稱。 :show.name
無法顯示名稱。我該怎麼做呢?要做到這一點
一種方法是建立在你的情節類中的方法稱爲show_name
像這樣:
def show_name
show.name
end
要傳遞到collection_select的最後一個符號是要調用的方法的名稱獲取選項文本。
我不知道這是否會奏效,但您是否嘗試過episode.show.name
?
您可以使用#select而不是#collection_select。你需要做更多的工作來構建價值/文本對,但這不是太糟糕。
f.select(:episode, :id, @episodes.map{|e| [e.show.name, e.id]})
難道你不總是會得到一個條目下拉,因爲該節目只能有一個節目?我錯過了什麼? – 2008-10-17 11:05:49
這個下拉菜單是將一個情節分配給一個音軌。跟蹤has_many集數。顯示has_many集數。 – Owen 2008-10-17 11:22:29