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

时间:2017-10-06 16:58:04

标签: ruby-on-rails ruby hash ruby-on-rails-5 strong-parameters

我有以下代码用于在我的网站上对表格进行排序。它在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

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

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

我得到的错误如下:

unable to convert unpermitted parameters to hash

1 个答案:

答案 0 :(得分:6)

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

自:

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

要:

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