我有一个rails 4应用程序,我已经设置了一个用户模型。我希望用户与用户个人资料模型建立 has_many 关联,但这里有一个问题:
我相信我是在正确的轨道上(或者我?),但是如何使用轨道发生器实现这一目标?对我来说最让人困惑的部分是如何做上面的子弹#2。
P.S。我看了一下STI,但在我看来,我的用户模型必须与每个用户配置文件类型模型有一个硬关联,我不喜欢它,因为它会改变用户模型我添加到数据模型中的每个新用户配置文件类型。
答案 0 :(得分:1)
你发声正确,请尝试以下
#The polymorphic models
class User
has_many :user_profiles, as: :profileable
end
class UserProfile
belongs_to :profileable, polymorphic: true
end
下面的迁移
#migrations
class CreateUserProfiles < ActiveRecord::Migration
def change
create_table :user_profiles do |t|
t.integer :profileable_id
t.string :profileable_type
t.timestamps null: false
end
add_index :user_profiles, :profileable_id
end
end