2011-07-10 16 views
0

を疑問視?Railsの関連は私は2つのモデルを持っている

誰かがその例を挙げることはできますか? (モデル、コントローラとビューください?)

おかげ

EDIT

は、私は、全体のコードを望んでいません。足場を使ってコードを最大限に活用することができます。私はそれを達成するために必要な変更が必要です。私の最大の関心事は、記事の著者だけが編集できるようにする方法です。それが私が求めていることです。

+1

誰かがあなたのためにすべてのコードを書く意思があるとは思いません。 –

+0

私はコード全体を望んでいません。足場を使ってコードを最大限に活用することができます。私はそれを達成するために必要な変更が必要です。私の最大の関心事は、記事の著者だけが編集できるようにする方法です。それが私が求めていることです。 – Immo

+0

これに答えるには、以下を見てください:http://railscasts.com/episodes/192-authorization-with-cancan – apneadiving

答えて

0

belongs_to :userと仮定すると、あなたがあなたのcurrent_user方法を提供する認証を設定している、あなたはあなたのArticlesControllerにこのような何かを行うことができるはず方法。

1

完全なサンプルコードを書き込むことはできませんが、少なくとも正しい方向を指し示すことができます。

あなたは、2つのモデルの間に1対多の関連付けを記述しています。 This guideは、Railsでこれらの関連付けを設定する方法を理解するのに最高のものです。

これを取得したら、記事の所有権に基づいてアクセスを非常に簡単に制限することができます。これはまっすぐ進むもので、おそらく許可の宝石は必要ありませんが、そこには確かなものがいくつかあります。

私はコントローラとビューのアクセスを保護したいと思います。ビューの記事オブジェクトに対してcurrent_userをチェックするだけで、記事を保護するためのフィルタの前に使用できるコントローラで確認することができます。

このパスをさらに下げてより具体的な質問がある場合は、私はそれらを試して回答してうれしいです。また、あなたのupdateのための同様のものが必要になり

def edit 
    @article = Article.find(params[:id]) 

    if @article.user == current_user 
    render :edit 
    else 
    flash[:alert] = "You don't have permission to edit this article." 
    redirect_to some_path 
    end 
end 

関連する問題