如何在rails中存储用户上次访问过的页面

时间:2013-10-25 18:12:51

标签: mysql ruby ruby-on-rails-3

我是ruby on rails的新手。

我有一个典型的问题,比如我有一个类别模型。例如,用户进入类别/ 1页面(此处类别是类别资源,1是ID编号)。

现在我需要存储该特定类别页面。 因此,当用户再次登录时,我可以将用户重定向到该特定类别页面。

请帮我解决这个问题。

提前致谢。

2 个答案:

答案 0 :(得分:1)

您将不得不在会话中保留该类别ID,因此您可能必须将其粘贴在数据库中。在您的用户上创建category_id属性以保存类别ID。然后,当用户下次登录时,您可以将其发送到上次访问的类别。

以下是一些快速示例代码:

class CategoriesController < ApplicationController
  def show
    @category = Category.find(params[:id])
    current_user.category = @category
    current_user.save
  end
end

class HomeController < ApplicationController
  def login
    ... auth logic ...
    if current_user.category_id.present?
      redirect_to current_user.category
    end
  end
end

您的用户模型:

class User < AR
  belongs_to :category
end

答案 1 :(得分:0)

最简单的方法是通过向User模型添加一个字段来存储与另一个模型的关系,例如category_id,并在查看任何特定类别时更新它。

然后在登录时,您可以重定向到此记录(如果已定义)。