"true", "30"=>"false", "35"=>"true", "40"=>"true", "45"=>"true", -6ren">
gpt4 book ai didi

ruby-on-rails - 动态处理参数的语法

转载 作者:行者123 更新时间:2023-12-04 08:57:26 26 4
gpt4 key购买 nike

一系列参数被提交给 Rails Controller :

"25"=>"true", "30"=>"false", "35"=>"true", "40"=>"true", "45"=>"true", "50"=>"true", "55"=>"true", "60"=>"true", "65"=>"false", "70"=>"true", "75"=>"true", "80"=>"false", "100"=>"true"
目标是循环:
@age_limits = [25,30,35,40,45,50,55,60,65,70,75,80,100]
并根据每个参数的值进行处理。
问题是引用参数的语法正在逃避我:
@age_limits.each do |limit|
puts params[:"#{limit}"]
if params[:"#{limit}"] == "true"
session[:demographic_agegroups] << params[:"#{limit}"]
puts session[:demographic_agegroups]
end
end
两者 params[:"#{limit}"]params[":#{limit}"]不允许访问参数。前者将通过放入控制台返回值(编辑器 BBEdit 不认为它是正确形成的 Ruby),但不允许在其基础上进行处理。
Controller 如何根据其值正确访问参数和进程?

最佳答案

您缺少转换 intstring .
由于您的 params 键是字符串,您可以使用 params[limit.to_s] .
另外,如果它的 key 基于 "keyX".to_sym将是 :keyX

关于ruby-on-rails - 动态处理参数的语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63735500/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com