2010-01-12 6 views
0

J'utilise le "infowindow" partielle (app/view/technologie/_infowindow.html.erb) pour remplir un marqueur google map en utilisant:problèmes avec les variables de passage à une partie

new_marker = GMarker.new([t.lat, t.lng], :icon => icon, :title => t.summary, :info_window => (render_to_string :partial => "infowindow", :object => t)) 

mais i » Je reçois une erreur très étrange. Quand je mets simplement:

<%= debug(infowindow) %> 

Je reçois la sortie complète du hachage. Mais lorsque je tente de faire référence à l'un des attributs individuels comme:

<%= infowindow.summary %> 

je suis jeté un résumé de la méthode non définie » pour nulle: NilClass même si l'attribut apparaît dans la sortie de débogage pour l'ensemble de hachage. Pourquoi puis-je accéder uniquement à l'ensemble du hachage et non à ses attributs individuels dans le partial?

EDIT: La partie supérieure du hachage retourné:

!ruby/object:Ticket 
attributes: 

Le modèle utilisé est un objet de billets si cela aide.

Répondre

2

Ce que vous essayez de faire est d'appeler la méthode summary sur le hachage infowindow qui n'existe pas dans la classe Hash et donc l'erreur. Pour accéder à des éléments de hachage individuels, essayez ceci:

<%= infowindow["summary"] %> 
+0

Il est possible que * * soit aussi disponible si le plugin writer était intelligent. –

+0

Je reçois toujours une erreur qui est maintenant un objet nul ... La variable transmise est un objet Ticket avec, par exemple, une colonne de résumé. Si l'infowindow est la variable locale pour l'objet Ticket, pourquoi ne puis-je pas simplement infowindow.summary dans la même syntaxe model.attribute utilisée ailleurs? – Kevin

+0

avez-vous fait des progrès avec le problème ... j'ai un problème similaire avec RSpec + partial + view, http://stackoverflow.com/questions/4695183/rspec2-partial-view-gives-nilnilclass-why – poseid

Questions connexes