Quantcast
Channel: 初心者タグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 21093

rails 他人の詳細ページを編集不可にする際の注意点

$
0
0

かなり基本的なところですが、今回アプリを完成させたと思ったら、
自分自身忘れていた箇所だったため、メモします。

また、今回はdeviceを使用して作成してます。

他人のデータを編集不可へ

複数人のユーザーが存在するアプリケーションでは自分のマイページや投稿内容を他人に変更できないように編集アイコンをログインしているユーザ以外表示されないようにしました。

<% if @user.id == current_user.id %>
        <%= link_to edit_user_path(current_user.id) do %>
            <div class= " edit btn btn-outline-secondary btn-default btn-block" ><span class="glyphicon glyphicon-wrench" aria-hidden="true"></span></div>
        <% end %>
        <% end %>

<% if @user.id == current_user.id %>が肝。

これでOKと思いましたが、これでは自力で直接URLに打つと編集できてしまうということを見逃してました。。

ということでコントローラーないにも下記記載。

     def edit
         @book = Book.find(params[:id])
         if @book.user == current_user
            render "edit"
          else
            redirect_to books_path
          end
       end  

これで自分以外のユーザーが直接入力しても編集ページへいかず、一覧ページに飛ぶようにできました。


Viewing all articles
Browse latest Browse all 21093

Trending Articles