2016-03-19 5 views
0

ich diesem Tutorial verfolgt habe ein einfaches Tagging-System einzurichten: Name http://www.sitepoint.com/save-multiple-checkbox-values-database-rails/Rails Formen (Kontrollkästchen) - ein Namensattribut von einem zugehörigen Modell erhalten, ohne f.label mit

Das einzige Problem ist, dass der‘ 'in meinem Expertise-Modell wird als Schlüssel in .yml-Dateien verwendet (die Tags werden in verschiedene Sprachen übersetzt).

Die Beziehung der Expertise Modell mit dem Modell der Form (in diesem Fall Modell Lehrer) ist eine gegenseitige ‚has_and_belongs_to_many‘

Das Formular für die Kontrollkästchen wie folgt aussieht.

<%= form_for(@teacher, :html => {multipart: true, :class => "sky-form"}) do |f| %> 
... 

    <span>Areas of expertise:</span> 
    <%= f.collection_check_boxes :expertise_ids, Expertise.all, :id, :name do |b| %> 
    <label class="checkbox"> 
     <%= b.check_box %> <i></i> <%= b.label %> 
    </label> 
    <% end %> 
... 

<% end %> 

Statt b.label möchte ich b.name tun (Name ein Attribut auf der Expertise Modell ist), aber wenn ich das tue, zieht es einen Fehler.

Irgendwelche Vorschläge? Ich versuche nur, den Namenstext jeder Instanz des Expertisenmodells zu erhalten, anstatt ihn in einem ganzen html-Element zu bedienen.

+0

Können Sie den Fehler selbst teilen? –

+0

undefined Methode 'Name 'für # Anwendung – dedles

+0

Ich sehe, können Sie auch teilen Sie die HTML, die mit dem obigen Code generiert wird und darauf hinweisen was ist daran falsch? –

Antwort