[Rails Best Practice]Don’t modify the params hash[訳]

Rails Best Practice

https://rails-bestpractices.com/posts/2013/09/18/don-t-modify-the-params-hash/
偉大な本家様

自分の勉強用に Rails Best Practiceシリーズを翻訳します。

Before

paramsハッシュを修正してはいけない

 def search
   params.except!(:action, :controller)
   @search = User.search(params)
   render "search"
 end

後で誰かがこのアクションの最後にparams[:action]やparams[:controller]を必要とするコードを追加したとしたら、その人はあなたのコードをリファクタリングしなければならないでしょう。

Refactor

代わりにparamsハッシュをコピーします。

def search
   filter = params.except(:action, :controller)
   @search = User.search(filter)
   render "search"
end

より良い方法としては、キーを知っていればstrong_parametersと同じように別のparamsメソッドを作成することです。

def search
  @search = User.search(search_params)
  render "search"
end

private

def search_params
  # params.except(:action, :controller)
  params.permit(:user_id, :name)
end

全国630店舗以上!もみほぐし・足つぼ・ハンドリフレ・クイックヘッドのリラクゼーション店【りらくる】

コメント

タイトルとURLをコピーしました