如何在Rails 5.1.4中添加我的参数?

dav*_*mcd 0 ruby hash ruby-on-rails strong-parameters ruby-on-rails-5

我有以下代码用于在我的网站上对表格进行排序.它正在努力Rails 4.2,但升级到Rails 5.1.4它失败了.正如我在Rails 5的变化中所读到的那样.虽然我理解由于它的变化而破坏但我仍然不明白如何调整这种方法以使其再次工作,如果有人可以,我会非常感激告诉我并解释一下.谢谢!

def roster_sort_link(column, title = nil)
  title ||= column.titleize
  direction = column == sort_column && sort_direction == "asc" ? "desc" : "asc"
  icon = sort_direction == "asc" ? "glyphicon glyphicon-chevron-up" : "glyphicon glyphicon-chevron-down"
  icon = column == sort_column ? icon : ""
  link_to "#{title} <span style='font-size: 10px;' class='#{icon}'></span>".html_safe, params.merge({column: column, direction: direction})
end
Run Code Online (Sandbox Code Playgroud)

该问题出现在该方法的最后一行,其中指出:

params.merge({column: column, direction: direction})

我得到的错误如下:

unable to convert unpermitted parameters to hash

dav*_*mcd 6

根据@anothermh给出的信息,我最终做了这个似乎有用的信息.

从:

params.merge({column: column, direction: direction})
Run Code Online (Sandbox Code Playgroud)

至:

params.permit(:column, :direction).merge({column: column, direction: direction})
Run Code Online (Sandbox Code Playgroud)