【发布时间】:2014-02-19 04:45:33
【问题描述】:
我在真正理解这个概念的工作原理时遇到了一些麻烦。首先,我将使用设计 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
创建用户迁移
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,因为这将是一个完全独特的值。任何帮助和智慧将不胜感激。谢谢。
【问题讨论】:
-
根据我的经验,您从不直接接触迁移文件,而是使用模型生成器。您可以通过查看您的架构文件来判断您的表之后的样子。如果你犯了错误,你只需创建一个新的迁移来修复它。
-
好的,考虑到手头问题的整体简单性,我什至会考虑在模型级别而不是数据库级别进行。
标签: ruby-on-rails ruby devise migration models