wab*_*iti 0 hash ruby-on-rails
您好我有以下问题.
我有一个填充html参数(params)的哈希:
Parameters: "info"=>{"parameter2"=>{"r1"=>"aa", "r2"=>"bb", "r3"=>"cc", "r4"=>"dd", "r5"=>"ee"}
Run Code Online (Sandbox Code Playgroud)
您可以像这样访问此值:
<%= params[:info][:parameter2][:r1] %> - >工作正常
但我有一个循环,并希望通过这样的变量访问这些值:
<% for number_row in (1..@numb_rows) %>
<%= params[:info][:parameter2]["r" + number_row.to_s] %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
- >它不起作用.我总是得到这个错误:
无法将nil转换为String
但"r1"确实存在.为什么它总是说,它不能将nil转换为String.
如何通过变化变量来访问这些参数?
我需要这样的东西:params [:info] [:parameter2] [@ var]
在Ruby中,前面有冒号的东西是符号.您得到的错误是正确的,因为您引用的是"r1",而不是:r1.
n = "r" + number_row.to_s
params[:info][:parameter2][n.to_sym]
Run Code Online (Sandbox Code Playgroud)