私のコントローラでは、このにレールの道を達成するための最良の方法がある場合、私は思ったんだけど:コントローラのRailsセキュリティ検証?
def show
@article = Article.find(params[:id])
# you can only view a public article or your own articles.
@article = nil unless @article.public? || @article.owner?(current_user)
end
def edit
@article = Article.find(params[:id])
# you can only edit your own articles
@article = nil unless @article.owner?(current_user)
end
私は自分のアプリケーションでこのようなカップルの検証を持っていると私はそれが1を欠場するのは簡単ですはっきりと見ることができるとあなたがしてはならないものにアクセスしてください!
ありがとう
これは私が探していたものではありませんが、それはスタートです。これはもっと良い方法ですが、公開記事か自分の記事のどちらかを持っていることを意味する自分のOWNとPUBLICの記事を手に入れます。 –
「Article.public.find(params [:id])|| current_user.articles.find(params [:id])」のようなものが役に立つでしょうか? –
あなたはモデルのメソッドにラップすることをお勧めします。 current_userをparamsとして渡し、条件式をメソッドに移動する – Anatoly