摧毁行动:
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中。
答案 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中构建表单。