我需要在对象的显示页面上放置删除链接。此节目页面将在两个不同的控制器上呈现。我需要将其重定向到请求来自的索引页面。网址为
localhost:3000 / users(索引页面),它将链接到书籍(显示页面),该URL将是本地主机:3000 / books / I' d。并在另一个控制器索引页面本地主机:3000 /书籍,也有链接到书籍显示页面,其中有删除链接。我需要重定向到请求来自的索引页面。任何帮助
编辑: 如何在Ruby On Rails中重定向到上一页? (问题已存在) 我们可以在编辑操作中获取请求URL。但是这里的删除操作将在常见的显示页面
答案 0 :(得分:2)
您可以通过将其存储在会话中来跟踪对索引页面的访问:
class ApplicationController
private
def store_location
session[:stored_location] = request.path
end
def stored_location
session[:stored_location]
end
end
class UsersController
before_acton :store_location, only: [:index]
# ...
end
class BooksController
before_acton :store_location, only: [:index]
# ...
end
你可以用它来摧毁你的行动:
class BooksController
def destroy
@book.destroy
redirect_to stored_location || books_path
end
end
答案 1 :(得分:0)
如果我正确理解了您的问题,您可以将以下内容放入delete
控制器:
redirect_to :back
应该重定向回用户来自的页面。
答案 2 :(得分:0)
在方法末尾放置
redirect_to action: :index