设计认证gem:如何保存登录的用户ID?

时间:2010-09-22 04:11:19

标签: ruby-on-rails ruby devise

我在Ruby on Rails 3应用程序中使用Devise Ruby gem。当登录用户创建我的某个模型时,我希望将其用户ID保存为创建它的人。我该怎么办?

1 个答案:

答案 0 :(得分:6)

  1. 使用名为integer的{​​{1}}类型的列创建迁移文件,这是存储关联的位置。 (有关如何执行此操作的详细信息,请参阅migration guide)。

  2. 在您的模型中
  3. ,添加:user_id(有关详细信息,请参阅associations guide

  4. 在模型的控制器中,在创建操作中添加belongs_to :user。这将完成您正在寻找的关联。 (@your_model.user = current_user是由设备提供的方法,它返回当前登录用户的User ActiveRecord)

  5. 注意:有多种方法可以进行实际关联。我建议在控制器中执行此操作,但可以在模型中或其他地方完成。