2017-06-20 6 views
0

Ich bin Ruby Anfänger, ich folge einem Schienen-Kurs, und diese Methode funktioniert für den Lehrer, aber nicht für mich, ich bekomme einen Syntaxfehler.Rails Helfer Methode Fehler content_tag

module SubjectsHelper 
    def status_tag (boolean, options={}) 
     options[:true_text] ||= '' 
     options[:false_text] ||= '' 

     if boolean 
      content_tag (:span, options[:true_text], :class => "status true") 
     else 
      content_tag (:span, options[:false_text], :class => "status false") 
     end 

    end 
end 

Der Fehler, den ich bekommen ist:

Syntaxfehler, unerwartet '', erwartet ')' content_tag (: Spanne, Optionen [: true_text]: class => "Status true")

Die Zeilennummer in der Fehlermeldung verweist auf den ersten Aufruf von content_tag. Ich habe doppelt mit dem Video überprüft, und ich weiß nicht, was falsch ist,

Ich Ereignis versucht, :class => "status true" in {} Umhüllung und ich habe den gleichen Fehler.

+0

Versuchen Sie, den Raum zwischen 'content_tag' entfernen und' ('oder können Sie unterdrücken' ('und') ' –

+0

so Rubin ist nicht Leerraum unempfindlich? –

+0

Genau, Ruby ist nicht Leerraum unempfindlich, wie Sie hier sehen können: http://lucumr.pocoo.org/2008/7/1/whitespace-sensitivity/ –

Antwort

1

Bitte ändern Sie dies zu

content_tag(:span, options[:true_text], class: "status true") 

lesen Sie bitte die Dokumentation, bevor Sie eine Methode. Hier ist docs für content_tag

Verwandte Themen