我有一个下拉像这样我的网页上:如何从视图访问嵌套模型?
<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