在Rails 5控制器中,您可以调用params并从请求中返回参数的哈希值。
但你不能这样修改参数。因为您正在修改的是params散列值的副本,而不是对底层参数的引用。
params[:starting_value] ||= "abc" # doesn't work for my purposes
你应该做的是将值存储在别处。
@starting_value = params[:starting_value] || "abc"
但是如果代码中的其他一些地方需要params [:starting_value],那么这个解决方案可能需要一些混乱的变化。
有没有办法在控制器中设置param的默认值?或者我将不得不采取稍微混乱的方式。
我也可以用重定向完成我想要的东西,但这也不理想。
我想你正在寻找merge!
方法。 Docs Here
params = params.merge!(:starting_value, 'abc)
它返回原始参数,并将新的参数合并或覆盖。请注意,没有感叹号的合并不会在适当的位置进行修改。你需要它来保持变化。