如何使用用户(设计存储电子邮件和密码)来归属于配置文件和配置文件has_one用户?当我查找数据库时,profile_int仍然是嗯嗯...不确定我哪里做错了?
class User < ActiveRecord::Base
# Include default devise modules. Others available are:
# :token_authenticatable, :confirmable,
# :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
# Setup accessible (or protected) attributes for your model
attr_accessible :email, :password, :password_confirmation, :remember_me, :profile_id
# attr_accessible :title, :body
belongs_to :profile
end
class Profile < ActiveRecord::Base
attr_accessible :dob, :firstName, :lastName, :school_id, :schYear, :user_attributes
belongs_to :school
has_one :user
accepts_nested_attributes_for :user
end
我知道通常我应该做这样的事情。这个Profile.create(.......)但是如果我用设计做这件事我不知道该怎么做
答案 0 :(得分:0)
:schoolstrong text
应该是':schoolstrong_text'吗?你有没有运行rake db:migrate
?
此外,检查您的架构也可能会有所帮助。
答案 1 :(得分:0)
将设计User
与Profile
模型相关联的一种常见做法是使配置文件成为用户的子项:
# app/models/user.rb
class User < ActiveRecord::Base
has_one :profile
end
# app/models/profile.rb
class Profile < ActiveRecord::Base
belongs_to :user
end
然后,在User
模型中,您将创建一个after_create
挂钩来创建新的Profile
模型并将其与新创建的用户关联:
# app/models/user.rb
after_create :create_profile
def create_profile
profile = Profile.create
self.profile = profile
self.save
end