0

在我的 rails 应用程序中,我遇到了需要在参数名称中添加字符串的情况,

即,我有一个 params 数组params[:attended],但我需要将其作为params[:attended_61]并且_61必须附加。61 是活动记录行对象的 ID。我在@sys.id. 然后请告诉我如何转换params[:attended]params[:attended_61]. 谢谢你。

4

3 回答 3

2

Billy Chan 是对的,您尝试做的事情听起来很奇怪,您可能应该重新考虑您的整个方法。

但是如果你必须做这样一件奇怪的事情,你可以这样做:

params[:"attended_#{@sys.id}"] = params.delete(:attended)

或者,因为params将是 a HashWithIndifferentAccess,您可以跳过符号化:

params["attended_#{@sys.id}"] = params.delete(:attended)
# or even
params["attended_#{@sys.id}"] = params.delete('attended')

params只是一个返回哈希的方法,您可以根据需要更改该哈希。

于 2013-06-16T19:29:42.140 回答
1

您可以按照下面给出的方式进行操作。

params["attended_#{@sys.id}"]

完美的工作!

于 2013-06-16T19:29:54.107 回答
0

您也可以将:添加到参数名称中,使其类似于自然的params[:var]名称,这样也可以很好地工作

params[:"attended_#{@sys.id}"]
于 2015-09-13T11:36:19.643 回答