互いにリンクしている 2 つのモデルがあります。
class User
include DataMapper::Resource
property :id, Serial
has n, :mail_addresses
end
class MailAddress
include DataMapper::Resource
property :id, Serial
property :email, String, :required => true, :unique => true, :format => :email_address
belongs_to :user
end
ここで、プライマリ メール アドレスをユーザーに追加したいと考えています。したがって、次のようなことができます
some_user.primary_mail_address = some_user.mail_addresses.first
私はユーザーモデルでこのようなことをやろうとしてきましたが、うまくいきませんでした。
property :primary_mail_address_id, Integer, required: false
has 1, :primary_mail_address, model: 'MailAddress', parent_key: [:primary_mail_address_id], child_key: [:id]
上記のトリックにより、コード サンプルを実行できますが、実行しても primary_mail_address_id は更新されません。
どうやってするの?