我正在使用RoR,目前正在阅读一些书籍和教程,而且效果很好。但是现在我必须实现一些我找不到任何资源的东西,我需要一些帮助。这就是我想要做的事情: 我有一个人们可以登录并查看内容的应用程序,因此我有一个名为用户的数据库表,非常不言自明。另外,我有一个表 user_rights ,每个表都有一个id,一个名称和一个描述。 现在的想法是,每个用户都可以拥有多项权限,使他能够访问应用程序的不同部分。因此:
class User < ActiveRecord::Base
attr_accessible :name, :password_digest, :password, :account_nr, :password_confirmation, :email
has_many :scope
validates :name, presence: true, uniqueness: true
validates :account_nr, presence: true
validates :email, :presence => true
has_secure_password
end
和
class Scope < ActiveRecord::Base
attr_accessible :name, :description
end
我不希望拥有 belongs_to - 关系。我只想要一个具有用户权限的小表,并为每个用户提供几个用户权限。但不幸的是,我完全不知道如何继续!有人能给我一些提示吗?
答案 0 :(得分:4)
似乎您需要many-to-many关联,例如:用户可以拥有多项权利,一项权利可以分配给许多用户。
答案 1 :(得分:0)
我相信您尝试做的事情称为授权(您可能已经知道)。如果您正在编写自定义解决方案,我认为您可能很有可能重新发明轮子。
我建议花一些时间与RailsCasts家伙编写的Rails授权插件CanCan一起,看看它是否符合您的需求。