Ruby on Rails - 向params []添加变量

时间:2010-05-14 17:43:10

标签: ruby-on-rails variables params

在控制器中,如何在params []?

的末尾添加变量

如果我试试这个,我会收到一个错误:params [:group_] + variable

应该怎么做?


按请求编辑

好的,我有一个表单,用以下名称设置单选按钮组:

group_01DRN0

显然我在表单中有不同的组(group_01AAI0,group_01AUI0等),并根据组内选择的单选按钮设置值:

单选按钮“group_01DRN0”的值可以是“21”或“22”或“23”,单选按钮“group_01AAI0”的值可以是“21”或“22”或“23”等。

在DB中我有每个代码(01DRN0,01AAI0,01AUI0等),所以我想从DB中选择它们并迭代参数值,这样我就可以得到单选按钮组的值,我试过这个没有运气:

@codes=Code.get_codes
for c in @codes
  @all=params[:group_] + c.name
end

感谢。

2 个答案:

答案 0 :(得分:4)

p = params
p[:new_param_name] = new_param_value

它对我有用(轨道3.2)。 注意:使用p而不是更改params可以避免更改原始参数。

答案 1 :(得分:3)

params看起来像哈希,但事实并非如此。因此,如果您需要在处理控制器中的传入数据时“增加”参数,请创建一个包含参数或其成员的新数据结构。

添加了:

也许你正在寻找

@codes=Code.get_codes
@all = []    
for c in @codes
  @all << params["group_#{c.name}"]
end