18

Rails 4.2.5 から 5.0.0.beta1 にアップグレードしています

テスト時には、以前と同様にページ分割されたリンクでレンダリングされたインデックス ビューが表示されることを期待していました。しかし、次のような ArgumentError エラー ページが表示されるようになりました。

ArgumentError in Transactions#index 
/app/views/kaminari/_paginator.html.erb where line #10 raised:


<%= paginator.render do -%>

Generating an URL from non sanitized request parameters is insecure!

Application Trace | Framework Trace | Full Trace

app/views/kaminari/_paginator.html.erb:10:in block in _app_views_kaminari__paginator_html_erb___4026289994022119719_69904100316060' app/views/kaminari/_paginator.html.erb:9:in_app_views_kaminari__paginator_html_erb___4026289994022119719_69904100316060'
app/views/transactions/index.html.erb:2:in `_app_views_transactions_index_html_erb__422882858554400818_60602560'

カミナリに問題提起

さらに調査すると、エラーをスローする新しい Rails 5.0.0.beta1 コードがあります。 actionpack/lib/action_dispatch/routing/url_for.rb

これを config/application.rb に追加すると「修正」されますが、良いアイデアではありません。

config.action_controller.permit_all_parameters = true

代わりにこれを追加しても問題は解決しません。理由はわかりません:

config.action_controller.always_permitted_parameters =  [:current_page, :page, :total_pages, :per_page, :remote, :paginator]
4

1 に答える 1

24

これは github master ブランチで修正されているようです。そのため、今のところ gem ファイルで次を指定します。

gem 'kaminari', :git => "git://github.com/amatsuda/kaminari.git", :branch => 'master'
于 2015-12-23T14:26:09.727 に答える