При обновлении объекта, мы должны :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"}
и, как следствие, запрос не удался на стороне сервера. Что мне здесь не хватает?
Не знаете, что вы спрашиваете, хотите ли вы использовать метод http в ваших параметрах? – Cyzanfar
Я хочу сделать запрос запроса на api – omarsafwany
, вы поставили точку останова в свой метод 'edit' в' TasksController'? – Cyzanfar