2016-10-03 3 views
0

Ruby(2)とRails(3.2)では、1つのコマンドでフィールドの選択を更新することは可能ですか?たとえば、すべての名前が一致するフック内のフィールドのセットを更新する必要があります。私はすべてのフィールド名がこれを行うための簡単な方法、または私が実行できるようにフィールドを一緒にグループ化する方法がある二つのモデル間で一致していることについて、このフィールドセットの更新ruby

def set_address 
    assign_attributes(address1: subscription.subscriber.address1, 
         address2: subscription.subscriber.address2, 
         address3: subscription.subscriber.address3, 
         city: subscription.subscriber.city, 
         county: subscription.subscriber.county, 
         country_id: subscription.subscriber.country_id, 
         postcode: subscription.subscriber.postcode) 
    end 

のようなもので終わる

def set_address 
    address = subscription.subscriber.address 
end 

何かアドバイスは、おそらくのようなもの

+0

することができますが、それはWOUあなたには良いことはありません。同じ名前を持っていても、2つの列が関連しているかどうかはどうやって分かりますか?確かに、あなたは 'id'、' created_at'などを再割り当てしたくありません。あなたはそれを明白なままにしておくほうがよいでしょう。それほど繰り返しはありません。 – ndn

+0

後者の要求については、別のテーブルを作成してください。 – ndn

+0

はい、新しいテーブル/モデル:Addressを作成してデータベースを合理化する方がはるかに優れているようです。それでは、単に 'address = subscription.subscriber.address'を実行するだけです。 –

答えて

0

を感謝:

[:address1, :address2, :address3, :city, :country, :country_id, :postcode].each do |field| 
    send("#{field}=", subscription.subscriber.send(field)) 
end 
関連する問題