我正在开发一个博客引擎,我不想设置康康舞。我找到了一些方法:
forem通过在主机用户模型中添加管理字段来实现这一目标,但是具有多个角色需要很多字段,这绝对不是这样做的方式
我看到了一些像this这样的exames,但为了做到这一点,我需要让我的主机应用用户模型与我的引擎模型具有has_many关系,就像这样
class User < ActiveRecord::Base
attr_accessible :name
has_many Blogcms::RoleUser
has_many Blogcms::Role, :through => Blogcms::RoleUser
end
我真的不知道这是否是正确的方法,但是这不会起作用,因为它是一个孤立的引擎,引擎模型将是隐形的
有人试过这个吗? 对不起我的英文
修改
我找到了解决办法,无需搜索用户模型,只需在我的角色模型中设置关系
module Blogcms
class Role < ActiveRecord::Base
has_many :role_user
has_many :user, :class_name => Blogcms.user_class, :through => :role_user
attr_accessible :name
# Return all the roles for a user
def self.roles_for_user(user)
joins(:user).where('users.id' => user.id)
end
end
end
就像我的roles_for_user方法返回用户的所有角色
答案 0 :(得分:1)
我找到了解决办法,无需搜索用户模型,只需在我的角色模型中设置关系
module Blogcms
class Role < ActiveRecord::Base
has_many :role_user
has_many :user, :class_name => Blogcms.user_class, :through => :role_user
attr_accessible :name
# Return all the roles for a user
def self.roles_for_user(user)
joins(:user).where('users.id' => user.id)
end
end
end
就像我的roles_for_user方法返回用户的所有角色