1
私は2つのモデルの連絡先とユーザーを持っています。新しいユーザーを作成すると、同時に連絡先を作成しようとしています。しかし何らかの理由で作成されていません。なぜどんなアイディアですか?Mongoidは1:1の関係で 'belongs_to'のnested_attributesを保存しません
class Contact
include Mongoid::Document
include Mongoid::Timestamps
include Mongoid::MultiParameterAttributes
include Mongoid::Paranoia
include Mongoid::Versioning
# Attr.
attr_accessible :first_name, :last_name, :birthday, :email_addresses_attributes, :phone_numbers_attributes, :relationships_attributes, :addresses_attributes
#Relationships
belongs_to :firm, validate: true
has_one :user # contact information for user
has_many :relationships, autosave: true
has_many :clients
has_many :notes, dependent: :destroy
...
end
class User
include Mongoid::Document
include ActiveModel::SecurePassword
include Mongoid::Timestamps
# Attr.
attr_accessible :contact_id, :contact_attributes, :password, :password_confirmation, :google_tokens
#Relationships
belongs_to :firm, validate: true
belongs_to :contact, validate: true, autosave: true
has_one :user_type
embeds_many :histories
# Nested Attrs
accepts_nested_attributes_for :contact
...
end
はい、私は連絡先ではなくユーザーを作成しています。 accepts_nested_attributes_for:ユーザーを運がないContactモデルに追加しようとしました。残念なことに、私は物事を切り替えると、私のフォームを破る。私のフォームエラーは、user_idフィールドが追加されていれば、そのuser_idがないことを示しています。 –
フォームの主なオブジェクトがユーザーの場合は、関係を切り替える必要があります。連絡先にuser_idフィールドを追加するだけです。あなたのフォームが提出されると、それは入力されます。 – tybro0103
まだ運がありません。私は調整を行い、連絡先はまだ保存されていません。 –