Pour mon modèle de données, j'ai deux types différents: les membres de la famille et les amis. Mon plan est d'avoir chacun une clé étrangère à une table utilisateur, qui est créée par Devise. Donc, quand un utilisateur s'inscrit, je veux qu'il se rende à/friends/sign_up ou family_members/sign_up. Alors, ma classe d'ami estattribut inconnu avec concevoir
class Friend < ActiveRecord::Base
belongs_to :label
belongs_to :user
belongs_to :gender
belongs_to :location
belongs_to :orientation
belongs_to :matchmaker
def after_initialize
self.build_user if self.user.nil?
end
#accepts_nested_attributes_for :user
delegate :username, :to => :user
delegate :email, :to => :user
delegate :password, :to => :user
delegate :password_confirmation, :to => :user
delegate :rememebr_me, :to => :user
# Include default devise modules. Others available are:
# :token_authenticatable, :encryptable, :confirmable, :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
# Setup accessible (or protected) attributes for your model
attr_accessible :username, :email, :password, :password_confirmation, :remember_me
end
et ma classe User est
class User < ActiveRecord::Base
# Include default devise modules. Others available are:
# :token_authenticatable, :encryptable, :confirmable, :lockable, :timeoutable and :omniauthable
# devise :database_authenticatable, :registerable,
# :recoverable, :rememberable, :trackable, :validatable
attr_accessor :username, :email, :password, :password_confirmation, :remember_me
# Setup accessible (or protected) attributes for your model
attr_accessible :username, :email, :password, :password_confirmation, :remember_me
end
J'utilise aussi Formtastic pour moi. En ce moment, je me fais
unknown attribute: username
avec des paramètres
{"utf8"=>"✓", "authenticity_token"=>"8ScsJebuCWnflaRQkp9MsBuaaqfzQKaZBXotLyNwNyM=",
"friend"=>{"username"=>"aaaa",
"email"=>"[email protected]",
"password"=>"[FILTERED]",
"password_confirmation"=>"[FILTERED]"},
"commit"=>"Create Friend"}
En ce moment, je suis juste essayer au hasard d'ajouter nested_attributes et quel que soit les deux modèles. Je pourrais utiliser l'héritage de table, mais je préférerais ne pas le faire (à moins que je puisse ajouter une clé étrangère aux sous-classes pointant sur la superclasse, ce serait bien).
Je l'ai en fait dans mon code, je viens de faire un mauvais travail de pâte de copie. – me2