Ich habe das Modell Order
mit 2 Zuordnung zu Address
.Duplizieren eines Eintrags in einer Beziehung in Rails 4
class Order < ActiveRecord::Base
belongs_to :billing, class_name: 'Address', foreign_key: 'billing_address_id', autosave: true
belongs_to :shipping, class_name: 'Address', foreign_key: 'shipping_address_id', autosave: true
Normalerweise, wenn beide Adressen gleich sind, würden Sie beide Verbände haben auf denselben Datensatz zeigen, aber lassen Sie uns für einen Moment sagen, dass ich 2 Einträge auf dem Tisch Address
machen wollte. Wie würde ich das tun?
ich es auf diese Weise versucht, aber es scheint nicht ...
@order.build_shipping shipping_params
@order.shipping.do_this()
@order.shipping.do_that()
@order.billing = @order.shipping.dup
@order.save
zu arbeiten Wie kann ich das erreichen?
Ich müsste "do_this" und "do_that" für die Abrechnung wiederholen. Ich würde gerne diese Redundanz beseitigen. –
Ändert diese Methode die Attribute "Abrechnung/Versand"? Brauchst du auch ihre IDs? –
Ja, sie verändern sie. Nein, ich brauche sie nicht –