我有以下模特:
class Role < ActiveRecord::Base
has_many :assignments
has_many :users, :through => :assignments
end
class Assignment < ActiveRecord::Base
belongs_to :user
belongs_to :role
end
class User < ActiveRecord::Base
has_many :assignments
has_many :roles, :through => :assignments
...
end
我试图找出用户的角色,但是当我尝试
时user.assignments.name
它不会从表格角色(列名称)中打印出用户的角色。
如何打印出来?
答案 0 :(得分:2)
您需要在关联上进行映射才能获得特定字段:
user.roles.map(&:name)
答案 1 :(得分:0)
试试这个。
user.roles.each {|role| puts role }
您无法在name
上调用user.assignments
方法,因为它是一个数组。
答案 2 :(得分:0)
user.assignments.each do |a|
puts a.name
end