ruby-on-rails - 使用设计手动设置 return_to

标签 ruby-on-rails ruby-on-rails-3 session authentication devise

我目前正在使用 Devise 对我的应用程序上的用户进行身份验证。它在大多数情况下都很好用,但我在执行特定操作时遇到了问题:

看法:

<p id="save"><%= link_to "Save", new_save_path, :remote => true %></p>

saves_controller.rb:
def new
  if user_signed_in?
    @save = Save.create(:user_id => current_user.id)
    render :update do |page|
      page.replace_html "save", "Saved!"
    end
  else
    redirect_to new_user_session_path, :notice => "You need to sign in to do that."
  end
end

正如你所看到的,因为 Action 是一个ajax,所以我不能使用传统的before_filter :authenticate_user!方法。因此,我将用户重定向到登录页面。

问题是,我想在用户登录时自动将用户重定向回上一页。

我知道我可以用 session[:"user.return_to"] 做到这一点但我在设置时遇到了麻烦。我怎样才能做到这一点?或者我在这一切都错了吗?

最佳答案

我相信 session key 是 :"#{scope}_return_to , 就是 :user_return_to对于 User类(class)。

关于ruby-on-rails - 使用设计手动设置 return_to,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5957714/

相关文章:

ruby-on-rails - Rails Ruby 优点 gem 观察器不起作用

java - 在 session 超时时设置 Liferay Hook

node.js - Express 和 Redis session 的过期时间

ruby-on-rails - 清理 SQL 语句中的存储过程调用

ruby-on-rails -/vendor/gems 中的自定义 Gem 未加载

ruby-on-rails - Rubygems、Bundler 和 RVM 之间的关系

ruby-on-rails-3 - 关闭 session 并重定向到 Ruby on Rails 登录

java - session 过期和无效之间的区别

ruby-on-rails - 帮助 Bundler 弄清楚为什么它是 "downgraded"我的 gem 之一

ruby-on-rails - 使用 Rails 中的本地数据自动完成