Ruby on rails 如何循环使用rails控制器参数中的属性

Ruby on rails 如何循环使用rails控制器参数中的属性,ruby-on-rails,Ruby On Rails,我有很多关系,我想在每个项目链接上循环一个特定字段到主模型(配方上的成分)。我试图在before_filter中这样做,这样我就可以正确地将用户输入解析为我想要的内容。如何设置do循环以获取我想要的参数Rails中的请求参数可以通过params散列访问。可以使用迭代器在哈希上循环 params.each do |k,v| puts "#{k}: #{v}" end 至于解析用户的输入,我个人不会在before\u filter方法中这样做。您在下面给出了一个将“1 1/2”等输入转换为1.

我有很多关系,我想在每个项目链接上循环一个特定字段到主模型(配方上的成分)。我试图在before_filter中这样做,这样我就可以正确地将用户输入解析为我想要的内容。如何设置do循环以获取我想要的参数

Rails中的请求参数可以通过
params
散列访问。可以使用迭代器在哈希上循环

params.each do |k,v|
  puts "#{k}: #{v}"
end
至于解析用户的输入,我个人不会在
before\u filter
方法中这样做。您在下面给出了一个将“1 1/2”等输入转换为1.5的示例。试着这样做:

成分.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

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

Rails中的请求参数可以通过
params
散列访问。可以使用迭代器在哈希上循环

params.each do |k,v|
  puts "#{k}: #{v}"
end
至于解析用户的输入,我个人不会在
before\u filter
方法中这样做。您在下面给出了一个将“1 1/2”等输入转换为1.5的示例。试着这样做:

成分.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

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

请至少在控制器或型号代码前发布一些数据。我认为您不想在过滤器前的
钩子中执行此操作。请至少在控制器或型号代码前发布一些数据。我认为您不想在过滤器前的
钩子中执行此操作。好的,那么我是否只想使用if检查来查找我想要和修改它们的键是;但是,我认为你应该重新考虑你对这个问题的总体态度。修改params散列不是一个好主意。我愿意听取建议,我应该如何修改和格式化用户输入的内容,以匹配我要存储在表中的内容。例如,尝试取一个可能的“1 1/2”并将其转换为1.5请参阅我的最新答案修订版。祝你好运好的……我假设人化和cast_人化的_value_to_decimal()都是虚构的调用,对吗?好的,那么我想用if检查来找到我想要的键并修改它们是;但是,我认为你应该重新考虑你对这个问题的总体态度。修改params散列不是一个好主意。我愿意听取建议,我应该如何修改和格式化用户输入的内容,以匹配我要存储在表中的内容。例如,尝试取一个可能的“1 1/2”并将其转换为1.5请参阅我的最新答案修订版。祝你好运好的……我假设人化和cast_人化_value_to_decimal()只是虚构的调用,对吗?