显示配置文件名称而不是配置文件ID
问题描述:
我有一个选项链接到配置文件表中的名称的下拉列表。它们通过名为“profile_id”的键链接。当我选择这些选项并将其显示在显示页面中时。它显示了我的profile_id,但我想显示名称。任何人都可以告诉我如何做到这一点。显示配置文件名称而不是配置文件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而不是我选择的名称。现在我意识到这是因为我已经指定要这样做。但是,我如何获得它以显示名称。它可以在show view代码中完成,还是必须在控制器或模型中进行转换。
我打算在那个选定的选项也链接回配置文件。如果你也知道这一点,那会帮助我摆脱大时间。
一如既往,非常感谢所有帮助。
答
改变你的表演动作来
<p>
<strong>Artist:</strong>
<%= @album.profile.name %>
</p>
完蛋了。完善。谢谢。我一直在尝试profile_id.name并搔着我的头。欢呼的帮助。 –