Arrays über nil?

Hallo,

folgendes Sznerio.

Tabelle humans:
id - int
name - varchar(255)
Tabelle couples:
id - int
human_1_id - int
human_2_id - int
startdate - date
Die Modellklassen sehen so aus:
human.rb
has_many :couples, :finder_sql => ‘select * from couples where
human_1_id =
#{id} or human_2_id = #{id}’

couples.rb
belongs_to: human_1, :class_name => “Human”, :foreign_key=>“human_1_id”
belongs_to: human_2, :class_name => “Human”, :foreign_key=>“human_2_id”

In meinem Datenbeispiel gibt’s 3 Menschen
id;name
1;a
2;b
3;c
sowie 3 Pärchen
id;human_1;human_2
1;1;1
2;1;2
3;2;3

Leider schaffe ich irgendwie nicht das Zeug zu laden:
ruby script/console
Das ganze wird auch teilweise geladen.
Human.find(1),couples.each{|couple| puts couple.human_1_id} gibt die
id’s aus.
Aus irgendeinem Grund wird der Kontakt aber nicht micht geladen, d.h.
Human.find(1),couples.each{|couple| puts couple.human_1.nil} gibt true
heraus.
Wie schaffe ich es am einfachsten, die referenzierten Menschen auch zu
laden?
Bislang habe ich im each ein couple.contact_1 =
Contact.find(couple.contact_1.id) stehen.
Das finde ich aber eher umständlich.

Danke,
Alles Gute
Jan

Hallo,

On 10/23/07, Jan L. [email protected] wrote:

Das finde ich aber eher umständlich.

Kommt mir auch so vor. Kannst Du mal ganz kurz umreißen, worum es
geht? Also was genau willst Du erreichen?

Andreas

Hallo,

Am Dienstag, 23. Oktober 2007 schrieb Jan L.:

Hallo,

Human.find(1),couples.each{|couple| puts couple.human_1.nil} gibt true
heraus.

Es muss natürlich .nil?

lauten.

Alles Gute
Jan

Hallo,

Am Dienstag, 23. Oktober 2007 schrieb Andreas R.:

Hallo,

On 10/23/07, Jan L. [email protected] wrote:

Das finde ich aber eher umständlich.

Kommt mir auch so vor. Kannst Du mal ganz kurz umreißen, worum es
geht? Also was genau willst Du erreichen?

Das war ein Minimalbeispiel um das Problem zu veranschaulichen.

Es gibt Menschen und es gibt Paare. Wie (in jeder guten Seifen-Oper :wink:
ist
jeder Mensch Mitglied in mehreren Paaren. (d.h. wir haben ein
n:m-Mapping
zwischen Menschen, gennannt Päärchen :-))
Num möchte ich einen Menschen “bearbeiten”, d.h. mir alle seine Beziehungen
anzeigen lassen. Dazu möchte ich gerne auch ein paar Infos zu seinen
Partnern
sehen, wozu ich diese laden muss.

Alles Gute
Jan

On Tue, Oct 23, 2007 at 06:58:26PM +0200, Jan L. wrote:

Hallo,

(…)

human.rb
has_many :couples, :finder_sql => ‘select * from couples where human_1_id =
#{id} or human_2_id = #{id}’

hallo, - ungetestet:

model human.rb:
has_many :couples, :class_name => ‘Couple’, :finder_sql…

gruesse
rene

Hallo,

Das war ein Minimalbeispiel um das Problem zu veranschaulichen.

Es gibt Menschen und es gibt Paare. Wie (in jeder guten Seifen-Oper :wink: ist
jeder Mensch Mitglied in mehreren Paaren. (d.h. wir haben ein n:m-Mapping
zwischen Menschen, gennannt Päärchen :-))
Num möchte ich einen Menschen “bearbeiten”, d.h. mir alle seine Beziehungen
anzeigen lassen. Dazu möchte ich gerne auch ein paar Infos zu seinen Partnern
sehen, wozu ich diese laden muss.

habe normalerweise kein Problem mit absurder Rechtschreibung, aber
diesmal stieg sogar mein Parser aus.

Zum Thema: http://www.google.de/search?q=has_many_friends

http://agilewebdevelopment.com/plugins/has_many_friends

BTW: Dein Model sollte eigentlich People heissen…

Andreas

Am 24.10.07 schrieb Andreas R. [email protected]:

BTW: Dein Model sollte eigentlich People heissen…

Es sollte Person heissen. und die Tabelle dann people. nicht persons und
nicht peoples.

Muha.