我真的很难理解这个概念是如何运作的。首先,我将使用devise gem进行用户身份验证和激活,但我需要知道我的迁移应该如何。我有一个用于激活帐户的唯一密钥(将提供用户)。
所以这就是我的代码很早就看到了,请注意:
用户模型
class User < ActiveRecord::Base
has_one :safe
has_many :contacts
end
安全模型
class Safe < ActiveRecord::Base
belongs_to :user
end
CreateSafes迁移文件
class CreateSafes < ActiveRecord::Migration
def change
create_table :saves do |t|
t.string :safe_key
t.timestamps
end
end
end
CreateUsers Migration
class CreateUsers < ActiveRecord::Migration
def change
create_table :users do |t|
t.string :email
t.string :password
t.timestamps
end
end
end
我真的不确定是否将user_id值添加到安全迁移表中,或者我是否只使用safe_key,因为这将是一个完全唯一的值。任何帮助和智慧将不胜感激。感谢。
答案 0 :(得分:1)
是,手动将user_id添加到安全表。在关联中,rails使用:belongs_to
将外键存储在表中,然后您可以使用safe.user
来获取用户,或使用user.safe
来获取安全保护。