显示配置文件名称而不是配置文件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> 
+0

完蛋了。完善。谢谢。我一直在尝试profile_id.name并搔着我的头。欢呼的帮助。 –