我正在尝试建立一个自动获取对象名称的关联。举个例子
**User has one Brand**
User Table:
id
Name
=================
**Belongs to User**
Brand Table:
id
user_id
user_name
所以我想知道如何将用户名传递给品牌表,谢谢
我正在尝试建立一个自动获取对象名称的关联。举个例子
**User has one Brand**
User Table:
id
Name
=================
**Belongs to User**
Brand Table:
id
user_id
user_name
所以我想知道如何将用户名传递给品牌表,谢谢
只需定义一个方法:
class Brand < ActiveRecord::Base
belongs_to :user
def user_name
user.name
end
end
在您的数据库中没有必要有那个额外的用户名列。
您可以简单地执行 brand.user.name 来获取用户名。
因此,如果您的视图有 @brand 的实例,您只需执行 @brand.user.name
否则按照meagar所说的去做。
You can use the delegate method for this. For example
model
class Brand < ActiveRecord::Base
belongs_to :user
delegate :name, to: :user, prefix: true
end
usage
brand = Brand.find(params[:id])
puts brand.user_name
b = Brand.first
name = b.user.name