如何循环rails控制器参数中的属性

时间:2016-07-25 15:32:24

标签: ruby-on-rails

我有一个has_many关系,我想在每个项目上循环某个字段链接到主模型(食谱上的成分)。我试图在before_filter中执行此操作,以便我可以正确地将用户输入解析为我想要的内容。如何设置do循环以获取我想要的参数

1 个答案:

答案 0 :(得分:2)

Rails中的请求参数可通过params哈希访问。您可以使用迭代器遍历哈希。

params.each do |k,v|
  puts "#{k}: #{v}"
end

至于解析用户的输入,我个人不会用before_filter方法做到这一点。您在下面举例说明了将“1 1/2”等输入转换为1.5。尝试这样的事情:

ingredient.rb:

# amount :decimal (assuming this column exists on the ingredients table)

def humanized_amount
  amount.humanize!
end    

def humanized_amount=(value)
  amount = cast_humanized_value_to_decimal(value)
end

然后使用humanized_amount作为表单输入的属性。只是一个建议。没有一个正确的答案。