0

認証システムとしてdeviseを使用しています。ユーザーがログインした後、ユーザーがプロジェクト名を選択して[次へ]をクリックする必要があるドロップダウンリストを表示して、そのプロジェクトに関連して投稿された投稿を表示できるようにしたいと考えています. 投稿は多くのユーザーが投稿および表示できますが、ユーザーは投稿した投稿のみを編集できますが、すべての投稿を表示できます。これどうやってするの?

4

1 に答える 1

1

ロールベースのモデリングを行ったことがありますか、 cancanを試すことができます。または、単純なユースケースでは、所有者またはユーザーとの属している関係があります。

したがって、ユーザーが投稿の所有者であるかどうかにかかわらず、投稿の編集中にフィルターの前に使用できます

before_filter :is_owner_of_post,:only=>[:edit,:update,:destroy]
protected
def is_owner_of_post
 @post = Post.find(params[:id])
 if @post.user != current_user
  redirect_to root_path,:notice=>"Un authorized access"
 end 
end

いくつかの記事を読んだり、認証に関するビデオを見たりすると、より多くのアイデアを得ることができます。

于 2012-09-26T09:26:24.503 に答える