发送更新对象时输入,我们应该:method => :put
覆盖在形式post
如下所示:导轨 - 方法把不使用参数
<%= 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"}
因此请求在服务器端不成功。 我在这里错过了什么?
不确定你在问什么,你想在你的params中使用http方法吗? – Cyzanfar
我想向api提出put请求 – omarsafwany
是否在'TasksController'的'edit'方法中放置了一个断点? – Cyzanfar