1
我想在Devise中嵌套一个类,它将用户的技能和期望的技能保存到数组中,但我似乎无法让我的表单对象保存到数组中。Rails,Mongoid和Devise嵌套模型
Class User
include Mongoid::Document
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
## Database authenticatable
field :email, :type => String, :null => false, :default => ""
field :encrypted_password, :type => String, :null => false, :default => ""
## Recoverable
field :reset_password_token, :type => String
field :reset_password_sent_at, :type => Time
## Rememberable
field :remember_created_at, :type => Time
## Trackable
field :sign_in_count, :type => Integer, :default => 0
field :current_sign_in_at, :type => Time
field :last_sign_in_at, :type => Time
field :current_sign_in_ip, :type => String
field :last_sign_in_ip, :type => String
field :first_name
field :last_name
field :location
index([[:skills, :desired]], :background => true)
validates_presence_of :first_name, :last_name, :location
validates_uniqueness_of :first_name, :last_name, :email, :case_sensitive => false
attr_accessible :first_name, :last_name, :email, :password, :password_confirmation, :remember_me, :location
embeds_one :skills
end
class Skills
include Mongoid::Document
field :skills, type => String
field :desired, type => String
embedded_in :user
end
如何修复我的模型和视图,以便一个人可以添加多种技能和所需的技能作为注册? (我是导轨初学者)
这只是我的意见,但我会建议留给用户模型只处理认证,并有一个独立的,联'Profile'或'Person'模型,它可以处理持有的技能等,否则您的用户模型将变得相当凌乱得很快。 – Russell 2012-04-19 15:33:33
我还需要重写设计模型才能完成该功能吗? – user1344267 2012-04-19 15:42:38
您需要做的只是在设计模型中添加'has_one:person',在您的人模型中添加'belongs_to:user' - 反之亦然,具体取决于您希望哪一个具有另一个的id。 – Russell 2012-04-19 15:44:58