2017-05-03 7 views
1

私は、ユーザーがアプリケーションにログインしてアイテムを投稿できる投稿テーブルを持っています。理想的には、私はユーザーが自分の投稿だけを編集し、誰も編集しないようにしたいと考えています。これまでは、ユーザーが投稿を編集できるだけでなく、他のユーザーも編集できるようにしました。ログインしているユーザー/現在のユーザーのみが自分の投稿を編集できるようにします

これは私がindex.html.erbファイルから固定取得する必要があると思うものです:

<td><%= review.review %> (<% if current_user%><%= link_to 'Edit', edit_review_path(review)%><%end%>)</td> 
+0

あなたのコントローラのインスタンス@userに 'current_user'をチェックしようとしましたか? – Daltron

答えて

1

あなたが好きなものを使用することができます。

ユーザーかどうかを確認し、言っている
<% if user_signed_in? && current_user.id == @review.user_id %> 

既に記録されており、current_userreviewの所有者であるかどうかを確認し、current_userのIDとそのレビューの所有者のidを確認してください。

だから、あなたが試すことができます:

<td> 
    <%= review.review %> 
    <% if user_signed_in && current_user.id == review.user_id %> 
    <%= link_to 'Edit', edit_review_path(review) %> 
    <% end %> 
</td> 

をまたcurrent_userreviewの所有者、間の一致をチェックするbefore_actionとして使用することメソッドを作成することができますが、私は、ビュー「検証」を考えます十分かもしれない。

+0

これは正しい考えです。 – roram

+0

あなたを助けてうれしい! –

関連する問題