2017-03-12 13 views
0

コードの行にこのような "警告"があります。 駆除警告:方法の長さは廃止され、ActionController::Parametersはもはやハッシュから継承しないので、Rails 5.1では削除されます。この推奨されない動作を使用すると、セキュリティ上の問題が発生する可能性があります。この方法を引き続き使用すると、悪用される可能性のあるセキュリティ脆弱性があなたのアプリケーションに作成されている可能性があります。代わりに、非推奨されていないこれらの文書のいずれかの方法を使用することを検討してください:使用することができますどのような代替案http://api.rubyonrails.org/v5.0.2/classes/ActionController/Parameters.html駆除警告:メソッドの長さは廃止され、Rails 5.1では削除されます。

if params[:q].blank? && params[:advanced_search].blank? || params[:q]&.length == 1 && params[:q][:s].present? 
    @q.add_default_condition('status', 'in', 'open') 
    session[:last_ticket_search] = nil 
end 

params[:q]&.length == 1

params[:q].to_unsafe_h&.length == 1私はそうすることはできますか?

答えて

1

メソッドを使用して、このようなRails 5.1のチェックの第2部分を行うことができます。 paramsは現在両方controlleractionキーを備え、その結果を認識するためのRails 5.1でlengthを使用

params.to_unsafe_h.dig(:q, :s).present? 

は、ビットトリッキーです。

+0

この方法は何ですか? –

関連する問題