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

问题描述:

我有我用我的网站上排序我的表下面的代码。它在Rails 4.2中工作,但升级到Rails 5.1.4后失败。因为它应该从我读过的Rails 5的变化中了解到。尽管我明白由于变化的原因,我仍然不明白如何调整这种方法以使其再次运行,并且如果有人能够告诉我并解释。谢谢!如何在Rails 5.1.4中添加我的参数?

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

https://*.com/questions/18424671/what-is-params-requireperson-permitname-age-doing-in-rails -4 – anothermh

基础的关于@anothermh给出的信息,我结束了这个工作。

来源:

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

要:

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