假设我有一个消息资源。在html的某处我有:
<%= link_to("Delete", message, :title => 'Delete', :confirm => 'Are you sure?',
:method => :delete )%>
在我删除它之后,它会将我重定向到列出所有消息的页面。有没有办法重定向到删除后指定的页面?
答案 0 :(得分:8)
在控制器中:
def delete
Item.find(params[:id]).destroy
redirect_to :action => "index"
end
要重定向到最后一个网址,请使用:
redirect_to :back
http://api.rubyonrails.org/classes/ActionController/Base.html#M000662
如果你能学好如何阅读api文档,那么一旦掌握了它们,它们就非常有用。
答案 1 :(得分:1)
如果您正在使用Rails的资源,那么实际上您应该处理destroy
操作。
def destroy
Item.find(params[:id]).destroy
redirect_to other_specified_path
end
如果您查看API文档,您会发现ActiveRecord::Base#delete
和ActiveRecord::Base#destroy
方法之间存在巨大差异。如果你真的明白为什么要使用删除,请使用删除。
答案 2 :(得分:0)
我只需要这个
def delete
Item.destroy
redirect_to :back
end
如果我想回到当前页面,我使用了这个