【发布时间】:2016-11-26 21:09:54
【问题描述】:
我有一个链接到配置文件表中名称的选项的下拉列表。它们由一个名为“profile_id”的键链接。当我选择这些选项并将其显示在显示页面中时。它显示了 profile_id,但我想显示名称。谁能告诉我该怎么做。
表单视图选择如下所示:
<div class="field">
<%= f.label :profile %><br>
<%= f.collection_select :profile_id, Profile.all, :id, :name, {:prompt => 'Please select an Aritst or Band'} %>
</div>
显示视图如下所示:
<p>
<strong>Artist:</strong>
<%= @album.profile_id %>
</p>
架构是这样的:
create_table "albums", force: :cascade do |t|
t.string "title"
t.date "released"
t.string "genre"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.integer "profile_id"
t.string "image"
end
create_table "profiles", force: :cascade do |t|
t.string "name"
t.date "born"
t.string "bio"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.string "image"
end
表格确实为我提供了正确的名称选项,因此表格可以正确链接。但是当我查看结果时,它给了我个人资料 ID,而不是我选择的名称。现在我知道那是因为我已经指定它这样做。但是我如何让它显示名称。是否可以在显示视图代码中完成,还是必须在某个地方的控制器或模型中进行转换。
我打算将该选定选项也用作返回个人资料的链接。如果你也知道这一点,那将大大帮助我。
一如既往,非常感谢所有帮助。
【问题讨论】:
标签: ruby-on-rails ruby forms ruby-on-rails-5