2009-03-02 3 views
1

Ich rolle gerade mit RoR, also bin ich sicher, dass das ziemlich grundlegend ist. Sagen wir, ich habe zwei Modelle: Konto- und TransaktionsWelche Methoden werden verfügbar, nachdem ich eine Verknüpfung erstellt habe?

class Account < ActiveRecord::Base 
    has_many :transactions 
end 

class Transaction < ActiveRecord::Base 
    belongs_to :account 
end 

Welche Methoden (für jedes Modell) zur Verfügung stehen/werden automatisch generiert, nachdem ich diese Assoziation zu machen?

Dank

Antwort

1

Es hängt davon ab. Einige Methoden (z. B. Konto # Transaktionen, Transaktion # Konto) werden von Anfang an da sein. Andere werden nach Bedarf (über einen method_missing-Hook) wie dynamische Finder erstellt. Die genaue Liste kann von anderen Faktoren abhängen, einschließlich Dingen wie acts_as usw., die an anderer Stelle verwendet werden.

Sind Sie besorgt, welche erstellt werden oder über die Möglichkeiten?

- MarkusQ

P.S. Sehen Sie hier für mehr:

http://api.rubyonrails.org/classes/ActiveRecord/Associations/ClassMethods.html

+0

ich mit Modifizierung der einfachen Gerüst gerade arbeitete, um zu sehen, was kam. Ich bin gerade in den grundlegenden Levels, also wird es wahrscheinlich meinen Fortschritt behindern, wenn ich tief gehe. –

+0

Also schauen Sie sich einfach die Liste an, mit der ich verlinkt habe, lesen Sie die Seite herunter, bis sie tiefer ist als Sie wollen, und hören Sie auf. – MarkusQ

+0

Was ist die # übrigens? –

1

run script/console aus der Wurzel Ihrer Rails-Anwendung und dann können Sie all die Magie Modell Methoden wie diese erkunden:

> account = Account.new 
> account.methods 
> ...[long list of methods]... 
> transaction = Transaction.new 
> transaction.methods 
> ...[long list of methods]... 

Sie erhalten eine lange Liste aller Methoden für das Objekt einschließlich der generierten. Alle Methoden werden ohne Zeilenumbrüche aufgelistet - und mit mehr als 100 Methoden kann es schwer zu lesen sein. Sie können eine .irbrc-Datei in Ihrem Home-Verzeichnis mit einigen benutzerdefinierten Methoden verwenden, um die Ausgabe in irb zu formatieren, damit sie einfacher zu lesen ist.

0

los inkdeep Antwort: Sie etwas Ausgabe wie folgt in Ihrer Ansicht nach kann so formatiert ist:

@ transaction.methods.each tun | Methode | Methode + „
“ Ende

Ich verwende HAML so Syntax ein bisschen anders ist, sondern nur schauen „do“

Verwandte Themen