我正在尝试创建一个自动获取对象名称的关联。例如
**User has one Brand**
User Table:
id
Name
=================
**Belongs to User**
Brand Table:
id
user_id
user_name
所以我想知道如何将用户名传递给品牌表,谢谢
答案 0 :(得分:1)
只需定义一个方法:
class Brand < ActiveRecord::Base
belongs_to :user
def user_name
user.name
end
end
答案 1 :(得分:0)
b = Brand.first
name = b.user.name
答案 2 :(得分:0)
在数据库中不需要额外的用户名列。
您只需执行brand.user.name即可获取用户名。
因此,如果您的视图中有@brand的实例,则只需执行@ brand.user.name
否则就像梅加尔所说的那样。
答案 3 :(得分:0)
您可以使用delegate方法。例如
<强>模型强>
class Brand < ActiveRecord::Base
belongs_to :user
delegate :name, to: :user, prefix: true
end
<强>使用强>
brand = Brand.find(params[:id])
puts brand.user_name