我试图为我的系统创建一个访问控制。我有以下情况:
角色可以为许多工作场所提供许多访问规则。
该模型目前正在使用导轨导轨结构:
class Workspace < ActiveRecord::Base
has_many :accessrules
has_many :roles, through: :accessrules
end
class Role < ActiveRecord::Base
has_many :accessrules
has_many :workspaces, through: :accessrules
end
class AccessRule < ActiveRecord::Base
belongs_to :role
belongs_to :workspace
end
我试图为AccessRoles View创建索引,我不知道该怎么做,我收到的错误是AccessRole没有初始化,应该在accessrole.db中定义
有人可以帮我了解如何在Accessroles @ index中显示联合数据表(All Roles_id + Workspaces_id)吗?
答案 0 :(得分:0)
您可以在迁移中使用:
create_table :role_workspaces, force: true, id: false do |t|
t.belongs_to :role, index: true
t.belongs_to :workspace, index: true
end
之后您可以使用(例如):
@role.workspaces
@workspace.roles
或
# PUT /workspaces/1
def update
@workspace = Workspace.find params[:id]
@roles = Role.find params[:workspace][:roles]
@workspace.roles = @roles
respond_to do |format|
if @workspace.update_attributes(params[:workspace])
...