2014-12-11 6 views
0

новичка вопроса я предполагаю, но здесь мы идем: у меня есть следующий Params:Руби/Rails - Доступ PARAMS значение

{"utf8"=>"✓", 
authenticity_token"=>".........", 
"import"=> 
    {"csv"=> 
    #<ActionDispatch::Http::UploadedFile:0x007fb59092a660 
    @content_type="text/csv", 
    @headers="Content-Disposition: form-data; name=\"import[csv]\"; filename=\"Users.csv\"\r\nContent-Type: text/csv\r\n", 
    @original_filename="DemoUsers.csv", 
    @tempfile=#<File:/var/folders/_p/w29hlx3x0cs6h026txv_rqhc0000gn/T/RackMultipart20141211-8204-1ha0i1u>>, 
    "datatype"=>"users"}, 
"commit"=>"Import", 
"action"=>"create", 
"controller"=>"imports"} 

В моем коде, я должен присваиваю значение @tempfile локальных переменный, но Я просто не могу понять, как это сделать. ;-)

ответ

1

Большая часть Params в params. Поэтому попробуйте

local_val = params["import"]["csv"].tempfile 
+0

Только то, что я искал. Спасибо, а также спасибо @shivam. Я приму ваш ответ, поскольку он будет более чистым. – Thomas

1

Предположим, вы назначаете ответ на переменную res

res = {"utf8"=>"✓", 
authenticity_token"=>".........", 
"import"=> 
    {"csv"=> 
    #<ActionDispatch::Http::UploadedFile:0x007fb59092a660 
    @content_type="text/csv", 
    @headers="Content-Disposition: form-data; name=\"import[csv]\"; filename=\"Users.csv\"\r\nContent-Type: text/csv\r\n", 
    @original_filename="DemoUsers.csv", 
    @tempfile=#<File:/var/folders/_p/w29hlx3x0cs6h026txv_rqhc0000gn/T/RackMultipart20141211-8204-1ha0i1u>>, 
    "datatype"=>"users"}, 
"commit"=>"Import", 
"action"=>"create", 
"controller"=>"imports"} 

Теперь,

res["import"]["csv"].tempfile 
Смежные вопросы