在Rails中,可以通过使用Active Record的关联功能来显示名称而不是id。
假设有两个模型,一个是User模型,另一个是Post模型,User模型拥有多个Post模型。在User模型中,可以定义一个关联方法,将User模型和Post模型关联起来:
class User < ApplicationRecord
has_many :posts
end
在Post模型中,可以定义一个方法,返回关联的User模型的名称:
class Post < ApplicationRecord
belongs_to :user
def user_name
user.name
end
end
这样,在视图中可以直接调用post.user_name
来显示用户的名称。
另外,如果想要在表单中选择用户的名称而不是id,可以使用Rails的表单辅助方法collection_select
:
<%= form_for @post do |f| %>
<%= f.label :user_id %>
<%= f.collection_select :user_id, User.all, :id, :name %>
<%= f.submit %>
<% end %>
这样,表单中的下拉列表将显示用户的名称,而不是id。
推荐的腾讯云相关产品:腾讯云服务器(CVM)和腾讯云数据库(TencentDB)。
腾讯云服务器(CVM)是一种弹性、安全可靠的云服务器,提供多种配置和操作系统选择,适用于各种应用场景。
腾讯云数据库(TencentDB)是一种高性能、可扩展的云数据库服务,支持多种数据库引擎,提供自动备份、容灾、监控等功能,适用于各种数据存储需求。
更多关于腾讯云服务器和腾讯云数据库的信息,请访问以下链接:
腾讯云服务器(CVM):https://cloud.tencent.com/product/cvm
腾讯云数据库(TencentDB):https://cloud.tencent.com/product/cdb
领取专属 10元无门槛券
手把手带您无忧上云