Ruby 删除方法无效
Ruby delete method does not work
对于我的博客,删除方法 不起作用(编辑、更新、创建...都可以)。
我已经尝试了不同的方法来定义 link,但都没有用。现在,我的 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
为 link 尝试此查询:
<div class="btn">
<%= link_to "Delete", @post, :confirm => "Are you sure?", :method => :delete %>
</div>
我觉得问题出在post_path(@post)。希望这有效。
如果路由足智多谋并且删除发生在数据库中,问题可能是 redirect_to
路由不是复数。
参见:http://guides.rubyonrails.org/routing.html#path-and-url-helpers
更正:
def destroy
@post.destroy
redirect_to posts_path
end
请尝试添加一种机制来查找 @post,因为 http 是无状态的 @post
需要分配。 @post = Post.find(params[:id])
部分已添加,供您试用。谢谢。
def destroy
@post = Post.find(params[:id])
@post.destroy
redirect_to posts_path
end
对于我的博客,删除方法 不起作用(编辑、更新、创建...都可以)。
我已经尝试了不同的方法来定义 link,但都没有用。现在,我的 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
为 link 尝试此查询:
<div class="btn">
<%= link_to "Delete", @post, :confirm => "Are you sure?", :method => :delete %>
</div>
我觉得问题出在post_path(@post)。希望这有效。
如果路由足智多谋并且删除发生在数据库中,问题可能是 redirect_to
路由不是复数。
参见:http://guides.rubyonrails.org/routing.html#path-and-url-helpers
更正:
def destroy
@post.destroy
redirect_to posts_path
end
请尝试添加一种机制来查找 @post,因为 http 是无状态的 @post
需要分配。 @post = Post.find(params[:id])
部分已添加,供您试用。谢谢。
def destroy
@post = Post.find(params[:id])
@post.destroy
redirect_to posts_path
end