2016-05-31 6 views
0

При обновлении объекта, мы должны :method => :put переопределить post в форме, как следующее:Rails - метод положил ввод не отправленный с Params

<%= simple_form_for @task, :url => update_task_url, :method => :put do |f| %> 
    <%= f.error_notification %> 

    <div class="form-inputs"> 
    <%= f.input :name %> 
    <%= f.input :description %> 
    </div> 

    <div class="form-actions"> 
     <%= f.submit 'Update Task'%> 
    </div> 
<% end %> 

<%= link_to 'Back', tasks_path %> 

В контроллере, прежде чем сделать запрос, я пытался оказать в PARAMS, чтобы проверить, что все правильно следующим образом:

render text: tasks_params 
uri = URI.parse("http://localhost/tasks/public/api/tasks/"+params[:id]) 
response = Net::HTTP.post_form(uri, task_params) 
render text: response.body 

, но я получаю следующее без _method атрибута:

{"name"=>"Task#1", "description"=>"lorem ipsum"} 

и, как следствие, запрос не удался на стороне сервера. Что мне здесь не хватает?

+0

Не знаете, что вы спрашиваете, хотите ли вы использовать метод http в ваших параметрах? – Cyzanfar

+0

Я хочу сделать запрос запроса на api – omarsafwany

+0

, вы поставили точку останова в свой метод 'edit' в' TasksController'? – Cyzanfar

ответ

0

Вы должны отправить к желаемому действию контроллера, как так

<%= simple_form_for @task, :url => update_task_url, :method => :post do |f| %> 
     <%= f.error_notification %> 

     <div class="form-inputs"> 
     <%= f.input :name %> 
     <%= f.input :description %> 
     </div> 

     <div class="form-actions"> 
      <%= f.submit 'Update Task'%> 
     </div> 
    <% end %> 

Я хотел бы добавить точку останова отладчика в update действий в вашем TasksController просто чтобы убедиться, что вы ударяете правильный маршрут.

+0

Я иду по правильному маршруту, но запрос к ссылке не увенчался успехом:/ – omarsafwany

+0

Что вы подразумеваете под «запросом к ссылке»? – Cyzanfar

+0

Ссылка - это URL-адрес API, указанный в поле uri. – omarsafwany

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

  • Нет связанных вопросов^_^