对于我的博客,删除方法不起作用(编辑,更新,创建......都没问题。)
我已经尝试过不同的方法来定义链接,但这一切都没有帮助。现在,我的html.erb代码如下所示:
<div class="btn">
<%= link_to "Delete", post_path(@post), :confirm => "Are you sure?", :method => :delete %>
</div>
控制器是这样的:
def destroy
@post.destroy
redirect_to post_path
end
耙路线:
posts GET /posts(.:format) posts#index
POST /posts(.:format) posts#create
new_post GET /posts/new(.:format) posts#new
edit_post GET /posts/:id/edit(.:format) posts#edit
post GET /posts/:id(.:format) posts#show
PATCH /posts/:id(.:format) posts#update
PUT /posts/:id(.:format) posts#update
DELETE /posts/:id(.:format) posts#destroy
答案 0 :(得分:0)
尝试此查询链接:
<div class="btn">
<%= link_to "Delete", @post, :confirm => "Are you sure?", :method => :delete %>
</div>
我认为问题只在于post_path(@post)。希望这有效。
答案 1 :(得分:0)
如果路由资源丰富并且数据库中发生了删除,则问题可能是redirect_to
路由不是复数。
请参阅:http://guides.rubyonrails.org/routing.html#path-and-url-helpers
修正:
def destroy
@post.destroy
redirect_to posts_path
end
答案 2 :(得分:0)
请尝试添加一种机制来查找@post,因为http需要分配无状态@post
。已添加@post = Post.find(params[:id])
部分供您试用。谢谢。
def destroy
@post = Post.find(params[:id])
@post.destroy
redirect_to posts_path
end