2

因此,我终于能够编写一些我需要的代码,如下所示:

 = link_to 'Clear', params.merge(:teachers => {:sort_column => 'teacher_name', :sort_direction => 'desc'}), :class => 'btn'

注意我使用了 params.merge命令。

但是现在我通过 Brakeman gem 运行它,它说params.merge有一个跨站点脚本漏洞。

那么现在我该如何重写不使用 params.merge 的相同代码呢?

4

1 回答 1

0

没有理由使用(也有很多理由不使用)整个params哈希。只需拉出构建 url 所需的部分。由于您正在重定向到相同的操作和控制器,您可以将它们排除在外,Rails 将找出路径:

= link_to 'Clear', :teachers => ...

如果您需要动作和控制器之外的特定参数,您可以将它们添加到:

= link_to 'Clear', :id => params[:id], :teachers => ...
于 2013-03-18T15:49:08.830 回答