我有一个链接需要传递一系列参数,其中2个参数总是为空。
link_to go_to_action_path(id, par_01, par_02, par_03, par_04)
在某些情况下,par_01
和 par_02
可能为 nil
;在其他情况下,可能是 par_03
和 par_04
。
如果我的变量值如下:
par_01 = nil
par_02 = nil
par_03 = 'a'
par_04 = 'b'
然后在 go_to_action
动作中:
p01 = params[:par_01]
p02 = params[:par_02]
p03 = params[:par_03]
p04 = params[:par_04]
我得到了这些值:
p01 => a
p02 => b
p03 =>
p04 =>
换句话说,变量
par_01
和par_02
将被丢弃,并在它们的位置上移动par_03
和par_04
。我如何强制
link_to
接受一个带有nil
值的参数?我考虑用0
代替nil
并在控制器操作中手动解析它,但这是一个相当丑陋的解决方案。
go_to_action_path
是什么?它是一个路由吗?如果是,是哪个路由?如果是一个方法,我们需要源代码。 - Philip Hallstrom&
吗?简单来说,它可以让代码即使参数为nil
也能正常工作。 - Jake