Rails - 如何找出用户在系统中的角色?

时间:2013-05-14 09:11:53

标签: ruby-on-rails ruby authentication roles

我有以下模特:

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

它不会从表格角色(列名称)中打印出用户的角色。

如何打印出来?

3 个答案:

答案 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