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

And*_*rew 4 ruby ruby-on-rails devise

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

Pie*_*ard 6

  1. 使用integernamed 类型的列创建迁移文件user_id,这是存储关联的位置.(有关如何执行此操作的详细信息,请参阅迁移指南).

  2. 在您的模型中,添加:( 有关详细信息,belongs_to :user请参阅关联指南)

  3. 在模型的控制器中,添加@your_model.user = current_usercreate动作.这将完成您正在寻找的关联.(current_user是由devise提供的方法,它返回当前登录用户的User ActiveRecord)

注意:实际关联的方法不止一种.我建议在控制器中完成它,但它可以在模型或其他地方完成.