2013-05-14 47 views
0

我有以下型號:Rails - 如何找出用戶在系統中的角色?

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

我有很多角色,如何找出我的系統中的作用是什麼? – oldergod 2013-05-14 09:13:36

回答

2

您需要在您的關聯映射,以獲得特定的字段:

user.roles.map(&:name) 
+0

感謝您的評論,當我嘗試這個時,我得到了'' – user984621 2013-05-14 09:21:43

+0

查看我更新的帖子,應該是user.roles.map(&:name) – 2013-05-14 09:22:41

+0

非常感謝你真是太棒了! – user984621 2013-05-14 09:25:01

0

試試這個。

user.roles.each {|role| puts role }

你不能調用user.assignmentsname的方法,因爲它是一個數組。

0
user.assignments.each do |a| 
    puts a.name 
end 
相關問題