0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

アクセス範囲の制限【備忘録】

Posted at

今日も今日とて誰の為でもない自分の為だけの記事を書く。

投稿者、ログイン者の見れるサイトを限定する場合
該当するコントローラーの最初に書く(今回はitems)

before_action :authenticate_user!, except: [:index, :show] 
#トップページと詳細ページ以外はログインしている人だけしか見れない  

ログイン以外の人はトップと詳細ページ以外を見ようとするとコントローラー内の最後に飛んで

def move_to_index
  @item = Item.find(params[:id])
  unless @item.user == current_user
    redirect_to action: :index
  end

unlessは投稿者と今のログイン者が同じじゃなかったらトップページに飛ぶ、の意味。

同じコントローラー内でここ大事!

def item_params
  params.require(:item).permit(:title, :catch_copy, :image, :concept).merge(user_id: current_user.id)
end

itemsはマージしない。

でも別コントローラー内ではマージする時もある(例:commentsコントローラー)。

 def comment_params
    params.require(:comment).permit(:content).merge(user_id: current_user.id, item_id: params[:item_id])
  end

いやあ、難しいなあ。。。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?