Es gibt drei Modelle, die für diese Frage relevant sind Transaction
Bid
und Auction
. Eine Auktion wird erstellt und dann werden in dieser Auktion offensichtlich Gebote erstellt. Eine Transaktion wird erstellt, sobald der Käufer ein Gebot ausgewählt und ausgecheckt hat, also nach Auktion und Gebot.Rails Association Convention
Die Transaktion ist mit der Auktion und dem Gebot verknüpft und enthält viele Informationen zur Transaktion (dh Versandinformationen, Steuern, Preisaufschlüsselung nach Werbebuchung). Im Moment habe ich bekam
Transaktion
class Transaction < ActiveRecord::Base
has_one :auction
has_one :bid
Bid
class Bid < ActiveRecord::Base
belongs_to :tx, class_name: "Transaction", foreign_key: "transaction_id"
Auktion
class Auction < ActiveRecord::Base
belongs_to :tx, class_name: "Transaction", foreign_key: "transaction_id"
Sollte mein belongs_to
und has_one
geschaltet werden? Wenn das so ist, wie? Jetzt haben meine Bid
und Auction
eine transaction_id
. Und meine Transaction
hat eine auction_id
Es braucht nicht eine 'has_one zu sein: transaction' im Bid-Modell? – gemart
@gemart Nur wenn Sie in der Lage sein müssen, von einem "Bid" zu seiner (optionalen) "Transaction" zu wechseln. Wenn Sie dies tun, können Sie eine "has_one: transaction" hinzufügen, aber wenn Sie die Transaktion für ein gegebenes Gebot nie nachschlagen müssen, ist das 'has_one' nicht notwendig. Verbände müssen nicht auf beiden Seiten deklariert werden, es sei denn, Sie beabsichtigen, sie auf beiden Seiten zu verwenden. – meagar
Ich muss '@ bid.tx' anrufen können, aber ich kann nicht @meagar – gemart