当我尝试使用以下代码时,出现此错误,

link_to params.merge(:sort => column, :direction => direction, :page => nil) do
      "#{title} #{content_tag(:i, "", class: "fa fa-chevron-#{direction == 'asc' ? 'up': 'down'}") }".html_safe
    end

当我在其中添加params.merge时,似乎特别发生了。真正的原因是什么,我该怎么办?

完整的错误信息



使用Rails版本5。

最佳答案

只需使用Rails的strong parameters feature将好的参数列入白名单即可。您不必按照指南中的建议定义方法,只需在需要的地方调用params.permit(...)即可,例如:

link_to "asdf", params.permit(:page, :customer_id).merge(sort: column)

使用params.permit!允许所有参数(基本上避开了新的安全检查),因此不建议使用

关于ruby-on-rails - 根据未过滤的请求参数生成URL,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38308130/

10-14 06:56