在我的rails应用程序中,我遇到了需要在params名称中添加字符串的情况,
即,我有一个params数组params[:attended]
,但我需要将其设为params[:attended_61]
并且必须追加_61
。 61是活动记录行对象的ID。我在@sys.id
中有这个价值。那么请告诉我如何将params[:attended]
转换为params[:attended_61]
。谢谢。
答案 0 :(得分:2)
但如果你必须做这么奇怪的事情,你可以这样做:
params[:"attended_#{@sys.id}"] = params.delete(:attended)
或者,由于params
将是HashWithIndifferentAccess
,您可以跳过符号:
params["attended_#{@sys.id}"] = params.delete(:attended)
# or even
params["attended_#{@sys.id}"] = params.delete('attended')
params
只是一个返回哈希的方法,您可以根据需要更改哈希值。
答案 1 :(得分:1)
您可以按照以下说明执行此操作。
params["attended_#{@sys.id}"]
完美的工作!!
答案 2 :(得分:0)
你也可以将:添加到params名称,就像自然的 params [:var] 名称一样,它也可以很好地工作
params[:"attended_#{@sys.id}"]