Ruby on rails 额外的有很多要求
作业:标题:字符串 权限:user\u id:integer,subject\u class:string,subject\u id:integer,action:string 分配有多个:权限,:外键=>:subject\u id 但是我如何确保它知道subject\u class==self.class.to\u的要求呢Ruby on rails 额外的有很多要求,ruby-on-rails,activerecord,Ruby On Rails,Activerecord,作业:标题:字符串 权限:user\u id:integer,subject\u class:string,subject\u id:integer,action:string 分配有多个:权限,:外键=>:subject\u id 但是我如何确保它知道subject\u class==self.class.to\u的要求呢 更新:使用:conditions=>{:subject\u class=>'Assignment'},如何确保何时执行权限。还设置了新的:subject\u类。这是您希望对
更新:使用:conditions=>{:subject\u class=>'Assignment'},如何确保何时执行权限。还设置了新的:subject\u类。这是您希望对() 在分配模型中,您将执行以下操作:
has_many :permissions, :as => :subject
在权限模型中,您可以执行以下操作:
belongs_to :subject, :polymorphic => true
但是,您需要将subject_类字段重命名为subject_类型,以使其隐式工作。当所有这些都完成后,您将从Rails中免费获得所需的一切。创建新权限时不需要传递:subject\u type。您可以创建如下权限:主题类型将自动为您填写:
assignment = Assignment.create(:title => "My Assignment")
permission = Permission.create(:subject => assignment, :action => "read", :user => current_user)
- or -
assignment.permission.create(:user => current_user, :action => "read")