Ruby on rails 执行删除时如何返回(搜索结果视图)?

Ruby on rails 执行删除时如何返回(搜索结果视图)?,ruby-on-rails,ruby-on-rails-4,Ruby On Rails,Ruby On Rails 4,正如您在这张图片()中所看到的,我有一个搜索视图,它指向一个结果视图,然后指向一个产品详细信息视图 我的问题是,当我删除正在展示的产品时,我不知道如何返回结果页面 “搜索结果”视图是一个动态视图(基于搜索表单上选择的参数),因此必须“刷新”(因为已删除的产品不再存在) 有人知道如何得到这份工作吗 提前谢谢 如果您的视图是控制器中的不同方法,则可以使用: redirect_to :back 否则,您可能必须在JS(ajax请求)中处理此问题。我更喜欢使用ajax处理删除,尤其是在这种情况下。 只

正如您在这张图片()中所看到的,我有一个搜索视图,它指向一个结果视图,然后指向一个产品详细信息视图

我的问题是,当我删除正在展示的产品时,我不知道如何返回结果页面

“搜索结果”视图是一个动态视图(基于搜索表单上选择的参数),因此必须“刷新”(因为已删除的产品不再存在)

有人知道如何得到这份工作吗


提前谢谢

如果您的视图是控制器中的不同方法,则可以使用:

redirect_to :back

否则,您可能必须在JS(ajax请求)中处理此问题。

我更喜欢使用ajax处理删除,尤其是在这种情况下。 只是做一个线头来破坏行动看起来像

= link_to "Delete", model, :method => :delete, :remote => true, :confirm => "Are you sure?"
-
model
是您的提交对象

那么,在当前的情况下,控制器会做什么呢

def delete 
  @model = Model.find(params[:id])
  @model.destroy
  render :js => "$('#result_line_#{@model.id}').remove();"  
end
-
Model
是类的名称
-
#result#line#{@model.id}
是搜索结果视图中该行的css选择器。

是的,它们在同一个控制器上,但对我不起作用。我已经用“redirect_to:back”更新了destroy方法,但是我得到了一个错误字符串来查看删除的产品。看起来“redirect_to:back”返回1步(转到产品详细信息视图),但需要返回2步。还有别的办法吗?也许保存动态URL(显示搜索结果的URL)并重定向到该URL?难道你不能简单地重定向到
索引
操作吗?我不想显示所有产品(这就是索引操作所显示的),但只显示上一次搜索的结果如何访问“上一次”的结果搜索?@Pierre Louis这是我得到的URL类型