My Rails 4应用程序具有由Devise GEM生成的用户模型。它还与Profile模型相关联。
以下是型号:
class User < ActiveRecord::Base
has_one :profile
end
class Profile < ActiveRecord::Base
belongs_to :user
end
和DB架构:
create_table "profiles", force: true do |t|
t.string "registered_city"
t.integer "user_id"
....
end
add_index "profiles", ["user_id"], name: "index_profiles_on_user_id"
create_table "users", force: true do |t|
t.string "email", default: "", null: false
t.string "encrypted_password", default: "", null: false
....
end
add_index "users", ["email"], name: "index_users_on_email", unique: true
add_index "users", ["reset_password_token"], name: "index_users_on_reset_password_token", unique: true
我想为每个/每个用户注册网站时创建关联的个人资料模型实例。
例如,如果用户完全注册该站点,则应自动创建属于该用户的Profile模型,并且必须与相关用户关联。另外,我需要在Profile模型中填写“registerd_city”字段,默认为“London”。
我该怎么做?
答案 0 :(得分:0)
class User
has_one :profile
after_create :make_profile
def make_profile
create_profile(:registered_city => "London")
end
end
喜欢这个。