Ich habe ein Berichtsmodell, das zu einem Standortmodell gehört. Wenn ich auf ein Berichtsobjekt innerhalb eines verschachtelten Partials zugreife, erhalte ich einen nil-Wert für report.location, wenn ich den gewünschten Wert sowohl in der parentalen Teilansicht als auch in der ursprünglichen Ansicht, die die Partials enthält, erhalte.Verlieren von Verknüpfungen in verschachtelten Teiltabellen in Rails
Zum Beispiel
in der Ansicht für die Berichte/Index Aktion, habe ich auf die verwandten Positionen für einzelne Elemente in einem Array @reports beziehen kann und erhalten den gewünschten Wert:
@reports[0].location.name # Works
aus dieser Ansicht mache ich einen Teil:
render :partial => "reports/reports_table", :locals => { :reports => @reports }
im reports_table Teil, kann ich an die Stelle eines einzelnen Elements des Arrays von Berichten beziehen sie noch und Holen Sie sich einen könnte schätzen:
reports[0].location.name # Works
Aus dieser Ansicht machen ich eine teilweise für jedes einzelne Element des lokalen Berichte Array:
reports.each do |report|
render :partial => "reports/report_display_row", :locals => { :report => report }
end
aber innerhalb dieser zweiten Ebene Teil (report_display_row) bekomme ich ein Nullwert für die zugehörige Position für jeden einzelnen Bericht:
report.location.name # undefined method `name' for nil:NilClass
I Variationen haben versucht, und zwar unabhängig von dem, was ich versucht habe, scheint es in dieser verschachtelten Teilobjekten zugeordnet wi th meine Instanz von Bericht sind immer Null.
Was bekommen Sie von report.class innerhalb der zweiten verschachtelten Teil? – mark
hier ist nichts falsch ... das einzig mögliche, was ich sehen kann, ist, dass rails verwirrt wird über die lokale Variable und Enumerator-Variable mit dem gleichen Namen. probiere report.each do | r |:: report => r und schau, ob du das gleiche Ergebnis bekommst – sethvargo