我有一张表格......
= simple_form_for @form, :url => update_path, :method => :put do |form|
= form.input_field :name
= link_to image_tag asset_path("icon.png"),
{:controller => 'controller/name', :action => 'delete', :id => some.id}
= form.submit
如上面的表格我有一个链接/图像/图标,点击它应该触发删除动作控制器,但由于某种原因它转到索引控制器动作。有人能指出这里有什么问题吗?
答案 0 :(得分:1)
尝试做:
= link_to image_tag asset_path("icon.png"),
{:controller => 'controller_name', :action => 'delete_method_name', :id => some.id},
{:confirm => 'Are you sure?', :method => :delete}
问题是,您需要将:method
作为:delete
传递,:action
应该是控制器的方法名称,而不是HTTP方法。
答案 1 :(得分:1)
定义资源路径时,删除操作将定义为与更新操作相同的网址(使用 PUT 或 PATCH < / strong> HTTP动词), 但可以使用 DELETE HTTP谓词
进行访问您需要做的就是设置指向对象更新路径的链接,然后使用 DELETE 动词:
= link_to image_tag("icon.png"), update_path(id: some.id), method: :delete
此外,我认为不需要#asset_path