2

devise と cancan を使用する Rails アプリがあります。

ユーザー (サインインしているかどうかに関係なく) を読み取ることができる Post リソースがあります。

user ||= User.new
if user.has_role? :admin
  can :manage, :all
else
  can :read, Post
end

タグ付けシステムを使用して投稿を分類しています。表示アクションがサインインしているユーザーに制限されている「restricted」というタグを作成したいと考えています。

制限付きタグで投稿を呼び出す方法は次のとおりです。

@post.tags.find_by_name("restricted")

コントローラーで if ステートメントを使用する必要がありますか、または何らかの方法で action.rb ファイルのアクションを制限する必要がありますか?

4

1 に答える 1

2

can :read, Postこのコードの下に追加できます。

cannot :read, Post, tags: { name: "restricted" }

ログインしていないこの制限ユーザーは、タグ名が「制限あり」の投稿を読むことができません。

于 2012-11-16T18:11:21.593 に答える