在Rails 5控制器中,您可以调用params并返回请求中参数的哈希值。
但是您不能那样修改参数。因为您要修改的是参数哈希值的副本,而不是对基础参数的引用。
stats 100 B+
cs 101 A-
history 101 A-
Pysch 201 B+
XYZ 864 D
您应该做的是将值存储在其他位置。
params[:starting_value] ||= "abc" # doesn't work for my purposes
但是,如果代码中的其他许多地方期望使用params [:starting_value],则此解决方案可能需要进行一些混乱的更改。
是否可以在控制器中设置参数的默认值?还是我必须以稍微凌乱的方式来做。
我也可以通过重定向来实现我想要的功能,但这也不理想。
答案 0 :(得分:0)
我认为您正在寻找merge!
方法。 Docs Here
params = params.merge!(:starting_value, 'abc)
它返回原始参数,并合并或覆盖新参数。请注意,没有感叹号的合并不会在适当位置进行修改。您需要它来保留更改。