假设我有一个叫做Animal的模型。该模型包含具有两种可能状态的枚举属性。如何实施授权?
class Animal < ActiveRecord::Base
enum kind: [ :cat, :dog ]
end
然后在我的控制器中创建不同的实例变量。
class AnimalsController < ApplicationController
def index
@cats = Animal.cat
@dogs = Animal.dog
end
end
在我看来,我有两个单独的集合。
<h1>Animals</h1>
<%= render partial: 'animals/cat', collection: @cats, as: :cat %>
<%= render partial: 'animals/dog', collection: @dogs, as: :dog %>
我如何进行授权以编辑第一个集合的资源并且不能编辑第二个集合?
以下方法不起作用,因为它仅适用于完全一个动作。
before_action :current_user_only, except: [:edit]
那么,我该如何实现这种授权?
在此先感谢!
你想授权一个用户编辑*所有* cat记录,但不是'dog'? –