Rails 5
我正试图访问其中一个参数
Parameters: {
"utf8"=>"✓", "authenticity_token"=>".......",
"temp_file_path"=>"{:value=>\"/home/utils/rails/fw_export/tmp/1510608598.csv\"}",
"button"=>""
}
具体来说,是temp_file_path。我试过了:
temp_file_path = params[:temp_file_path][:value]
但是我收到了一个错误:
TypeError (no implicit conversion of Symbol into Integer):
如何访问该值?
我也尝试过params [" temp_file_path"] [:value]
我将temp_file_file路径作为params的一部分传递,如下所示(来自View):
= hidden_field_tag :temp_file_path, :value => temp_file_path
我把它改为:
= hidden_field_tag :temp_file_path, temp_file_path
现在可以通过以下方式访问该值:
params[:temp_file_path]
答案 0 :(得分:0)
您的哈希值无效:
{
"utf8" => "✓",
"authenticity_token" => ".......",
"temp_file_path" => { "value" => "/home/utils/rails/fw_export/tmp/1510608598.csv\" },
"button" => ""
}
以上将是一个有效的哈希值。
您可以访问:params["temp_file_path"]["value"]
此外,对符号进行符号化将允许您使用符号访问哈希。 Seep symbolizing象征着嵌套的哈希: https://apidock.com/rails/Hash/deep_symbolize_keys
params.deep_symbolize_keys
现在您可以按以下方式访问它:params[:temp_file_path][:value]