如何为角色执行查找表

时间:2011-07-18 06:26:59

标签: ruby-on-rails-3

我有一张列出作者的表格;

column :name, :string,
column :role_id, :integer

我有一个角色表

column :role_name, :string

型号:

Author

belongs_to :role

Role

has_many :authors

这看起来很奇怪。作者是否有一个角色,一个角色属于许多作者,这是正确的吗?

现在,如果我有作者,我现在可以做以下事情;

@author.name并获取名称。

如何获取role_name

@author.role.role_name?

提前谢谢

1 个答案:

答案 0 :(得分:2)

您的关联是正确的 - 请查看this以获取解释。 此外,您回答了自己的问题,可以使用

获取作者的角色名称
@author.role.role_name

另一种选择是将以下行添加到作者模型

delegate :role_name, :to => :role

然后您就可以使用

获取角色名称
@author.role_name