2012-02-15 9 views
0
if current_user.blank? 
     @order.create_user(email: @order.email, name: @order.name, ????????) 
end 

@ order.addresses.firstを新しいユーザーに追加しようとしています。ユーザーとアドレスはHABTMです。Rails:Create Method - HABTM属性を追加するには?

@ order.create_user(?????)に何を追加する必要がありますか?たぶん@ order.create_user(addresses.first:@ order.addresses.first)?

いいえ、すでにnested_attributesがあります。

私が今やっていることはあまり優雅ではありません。

if current_user.blank? 
    @order.create_user(email: @order.email, name: @order.name) 
    @order.user.addresses << @order.addresses.first.address 
    @order.save 
end 

それを改善するためのアイデアはありますか?

+0

あなたは 'nested_attributes'を探しています – apneadiving

+0

私は既にnested_attributesを持っていました。私はちょうどcreateメソッドを使って注文から新しいユーザーにアドレスを入れたかったのです。 ユーザーとアドレスのモデルはHABTMで、アドレスと注文はHABTMにもあります。 私はより良い方法でcreateメソッドを使用する方法を理解しようとしています。 –

+0

OK:create_user(addresses_attributes:[...]) – apneadiving

答えて

1

答えは私のコメントです。ネストされた属性を使用します。