あなたはauthorization_rules.rb
にあなたのコントローラと
role :reg_ser do
has_permission_on :photos, :to => [:index, :new, :create]
has_permission_on :photos, :to => [:show, :edit: update] do
if_attribute :user_id => is { user.id }
end
end
のようなもので
filter_access_to [:index, :new, :create]
filter_access_to [:show, :edit, :update], :attribute_check => true
のようなものを配置する必要があります。したがって、すべてが正しく機能するので、属性をチェックするすべてのアクションに対してコントローラーに:attribute_check
を含めることが重要です。 それだけで(これはInheritedResourcesがコレクションとしてcurrent_user.pictures
を持たせることになる)
def begin_of_association_chain
current_user
end
またはコントローラに類似を追加することにより、現在のユーザーの事を示すことは非常に簡単であるように私は、それなし:index
を残しました。
また、あなたは、あなたが「declarative_authorization」を使用している意味するかhttp://asciicasts.com/episodes/188-declarative-authorization
を読んで興味がある可能性があり???そうであれば、 "filter_resource_access"ディレクティブを持つ適切な名前のコントローラがあると仮定すると、頭の中の爪にはかなりの打撃があります。 – dmcnally
私はすでに睡眠が必要です。私をキックしてくれてありがとう! – user984621
cancanを使用して、あなたのためにもっと簡単にすることができます – Uchenna