问题是下面的代码
<%= button_to t('.delete'), @post, :method => :delete, :class => :destroy %>我的Post模型有许多依赖删除的关系。然而,上述代码只会删除帖子,使其关系完好无损。问题是删除和销毁方法是不同的,因为该方法delete没有实例化对象。
所以我需要使用“破坏”而不是“删除”我的帖子。
<%= button_to t('.delete'), @post, :method => :destroy %>给出了路由错误。
没有路线匹配哨所“/哨所/2”
<%= button_to t('.delete'), @post, Post.destroy(@post) %>在不单击按钮的情况下删除帖子。
有人能帮我吗?
更新:
application.js
//= require jquery
//= require jquery-ui
//= require jquery_ujs
//= require bootstrap-modal
//= require bootstrap-typeahead
//= require_tree .耙路
DELETE (/:locale)/posts/:id(.:format) posts#destroyPost模型
has_many :tag_links, :dependent => :destroy
has_many :tags, :through => :tag_links标签模型
has_many :tag_links, :dependent => :destroy
has_many :posts, :through => :tag_links问题:当我删除一个帖子时,所有的tag_links都被销毁了,但是标签仍然存在。
发布于 2012-12-09 04:51:34
:method => :delete是指HTTP方法删除,与活动记录的delete方法无关。
您需要检查您的模型代码,您是否错过了关系的:dependent => :destroy选项?
例如,如果帖子有许多评论,那么它应该是:
has_many :comments, :dependent => :destroy当然,在控制器中,您需要使用@post.destroy而不是@post.delete。
https://stackoverflow.com/questions/13784513
复制相似问题