0

レジストリなどのオブジェクトを作成した人だけに何かを見てもらいたい = が、Devise ですべてを定義するのに苦労している

コードは次のとおりです。

<% if user_signed_in? && ***"current_user = registry the user created?"?(struggling with the second part)*** %>

前もって感謝します

PScancanを使用していますが、これはページを表示したいショーページでは役に立ちません。

4

1 に答える 1

1

これは工夫の一部ではなく、カンカンの一部です。

カンカン能力ファイル内で能力を定義する必要があります。

user ||= User.new
can :read, Registry, :user_id => user.id

このように、cancanのauthorizeメソッドを使用すると、次のようなことができます。

@registry = Registry.find(params[:id])
authorize! :read, @registry

明らかに承認します!ユーザーがこのリソースにアクセスできない場合、エラーがスローされます。

使用するレジストリのビューでこれを確認したいだけの場合は、次のようにします。

<% if can? :read, @registry %>
  do your thing here
<% end %>

ちなみに、これはすべてcancanのフロントページに記載されています:https ://github.com/ryanb/cancan

于 2012-06-25T13:54:54.717 に答える