Has_many :photos


#1

Hallo
Zwei Tabellen

model product
has_many :photos

model photo
belongs_to :product

View:
product => index

<% for product in @products %>

<%=product.photo.filename %>… undefined method `photo’

oder <%=product.photos %>… keine Fehlermeldung, zeigt ne Raute

wie komme ich an die Photodaten? Die sollten doch in product enthalten
sein!

<%=product.photos.filename %> …undefined method `filename

Filename ist aber drin.

Gruß
Werner


#2

http://guides.rubyonrails.org/routing_outside_in.html

Werner L. schrieb:


#3

On Sun, 22 Feb 2009 15:39:33 +0100
Werner L. removed_email_address@domain.invalid wrote:

Hallo

hallo werner,

<% for product in @products %>

<%=product.photo.filename %>… undefined method `photo’

oder <%=product.photos %>… keine Fehlermeldung, zeigt ne Raute

genau, bzw. ein object/array an.

wie komme ich an die Photodaten? Die sollten doch in product enthalten
sein!

product.photos.each { |p| puts p.filename }

ist ja ne has_many, bzw. one-to-many beziehung. entsprechend bekommst du
ein array zurueck.

gruesse
rene


#4

Danke soweit…

@ Daniel => gute Quelle

Gruß

Am 22.02.2009 um 15:44 schrieb Rene P.:


#5

Jep. Aber glaube hatte mit deinem Problem konkret nichts zu tun. Ich
hatte letzens auch ein ein “merkwürdiges”
Problem mit dem routing. Fand das da auch sehr gut erklärt. Generell ist
die Seite zu empfehlen.

Werner L. schrieb:


#6

Am 22.02.2009 um 15:44 schrieb Rene P.:

Hallo Rene…und …

ich muß nochmal nachfragen…

Die Listenansicht klappt soweit, aber die Produkt Einzelansicht noch
nicht.
Produkt hat zwei Bilder

show
<%= finde_small(@product.id) %>

Ich habe hier nur die product_id

Habe dann einen Helper geschrieben

def finde_small(small)
all_smalls = Photo.find(:all, :conditions=>[“product_id = ?”,
small.to_i])

Das gibt auch zwei Rauten zurück, soweit so gut

all_smalls.each {| sma | sma.filename}

müßte er hier nicht die beiden filenames aus dem array zeigen?
Leider nicht… nur die beiden Rauten.

all_smalls.each {| sma | puts sma.filename} => broken pipe

Noch mal einen Hinweis wäre super…

Gruß
Werner


#7

Hallo Werner,

warum so kompliziert?

hast Du es schon mal damit probiert?

<% for photo in @product.photos%>
<%=photo.filename%>
<%end%>

Gruss,
Roman

Am 22.02.2009 um 20:40 schrieb Werner L.:

Noch mal einen Hinweis wäre super…

Hallo

rene

removed_email_address@domain.invalid


rubyonrails-ug mailing list
removed_email_address@domain.invalid
http://mailman.headflash.com/listinfo/rubyonrails-ug

Roman Sladeczek
Consulting & IT
Voßstr. 4
81543 München
TEL.: +49 89 54075045
Mobil: +49 163 7348177
Email: removed_email_address@domain.invalid


#8

Am 22.02.2009 um 22:33 schrieb Roman Sladeczek:

Danke…
wenn man zu lange brütet, sieht man die einfachen Lösungen nicht…

Gruß


#9

Hi Werner,
probier mal “debug” statt “puts”. “puts” sollte nicht in einer
Rails-Anwendung verwendet werden.

Grüße
Nicolai