2015-06-11 4 views
0

Я пытаюсь опубликовать целочисленный метод за файлом в методе post в рубине на рельсах.Ruby On Rails: метод post за файлом

Для этого я использую hidden_field_tag, но он отправляет json контроллеру, и я не знаю, как использовать этот json.

Стараюсь ниже код:

<%= form_tag import_tasks_path, multipart: true do %> 
    <%= file_field_tag :file %> 
    <%= hidden_field_tag :owner_id, :value => 1 %> 
    <%= submit_tag "Import" %> 
<% end %> 

В контроллере, я хочу использовать файл и 1 в функции:

Task.import(params[:file], params[:owner_id]) 

но значение params[:owner_id] является: {value=>1}. как я могу опубликовать только значение? как:

Task.import(params[:file], 1) 

Я пытаюсь каким-либо образом, но не можете найти решение, как: зрения:

<%= hidden_field_tag :owner_id, 1 %> 

контроллер:

params[owner_id] 

или:

params[:owner_id].dup 

ответ

2

Этого должно быть достаточно:

<%= hidden_field_tag :owner_id, 1 %> 

Если у вас нет доступа к нему в вашем желаемом контроллере с params[:owner_id], у него может быть родитель. Попробуйте сделать в своем контроллере params.inspect, он покажет его местоположение.

БОНУС

Причина она дает "{value=>1}", когда вы даете :value => 1, является то, что он попадает в значение арг в hidden_field_tag ​​в качестве хэша, и они должны называть to_s на нем.

Смежные вопросы