rails 3破坏行动失败

时间:2010-10-27 23:45:56

标签: ruby-on-rails

摧毁行动:

def destroy
  @tag = Tag.find(params[:id])
  @tag.destroy

  respond_to do |format|
    format.html { redirect_to(tags_url) }
    format.xml  { head :ok }
  end
end

链接:

<a href="/tags/14" data-confirm="Are you sure?" data-method="delete" rel="nofollow">Destroy</a>

单击它会渲染显示操作。

Started GET "/tags/14" for 127.0.0.1 at Wed Oct 27 18:36:41 -0500 2010
Processing by TagsController#show as HTML
Parameters: {"id"=>"14"}
Tag Load (0.2ms)  SELECT "tags".* FROM "tags" WHERE ("tags"."id" = 14) LIMIT 1
Rendered tags/show.html.erb within layouts/application (8.5ms)
Completed 200 OK in 25ms (Views: 12.1ms | ActiveRecord: 0.2ms)

javascript_include_tag:我的页面上包含默认值,脚本标签正确呈现。 Firebug不会给我任何错误。这种情况发生在Firefox和Opera中。

2 个答案:

答案 0 :(得分:1)

这可能就是你编写link_to方法的方式。

 <%= link_to "Destroy", tag, :method => :delete, :confirm => "Really?" %>

试试。


确保您在routes.rb文件中声明了资源,因为这是提供此freebee网址的内容。

2.3.8中的

map.resources :tags
R3中的

我真的不知道,但指南就像这样

resources :tags

答案 1 :(得分:0)

要使用方法覆盖,您需要发送_method参数。对于像destroy这样的动作,它应该是一个表单,你将_method参数设置为delete,你可以在单击链接时在JS中构建表单。