Ich habe dynamische Form, die eine Reihe von Werten hat. Ich habe ein Partial erstellt, das Textfelder enthält, die ich zeige. Neben jedem von ihnen möchte ich ein Etikett mit dem Titel des Textes anzeigen. Zum Beispiel wäre Vorname und Nachname vorher nicht bekannt. Wie gehe ich vor? Es scheint, dass ich nicht direkt auf die Attribute zugreifen kann. Aber wenn ich das Beschriftungsfeld verwende, wird der Variablenname im Etikett nicht der tatsächliche Wert angezeigt.Fields_for dynamische Label
Antwort
Gut! Dies war ein Spiegelbild davon, wie neu ich bin zu schienen. Sie können dies tun, indem Sie f.object.{attr_name}
verwenden, und das hat funktioniert.
Wie verwenden Sie das? Was wäre das Objekt in deinem Beispiel? –
f.object.{attr_name}
hat nicht für mich funktioniert, aber f.object[:attr_name]
tat.
'f.object.first_name' oder' attr_name = 'first_name'; f.object.send (attr_name) 'wird funktionieren. 'f.object. {attr_name}' ist eine ungültige Ruby-Syntax. – Kris
Was:
f.object.send(attr_name)
Das ist der Rubyish Weg sein würde.
Können Sie das besser erklären? –
Alle Formularersteller haben eine Methode namens 'object', die das Objekt zurückgibt, das das Formular umschließt, normalerweise ein ActiveRecord-Modell, sagen wir Person. Wir rufen dann 'send' an diese Person, um ihr eine Nachricht zu senden, also ist' person.send (: name) 'das gleiche wie' person.name'. Wie Sie mit 'send' sehen können, müssen wir das Attribut (z. B. last_name), das wir als unser Label anzeigen wollen, nicht fest codieren. Im obigen Fall kann 'attr_name' eine beliebige Zeichenfolge sein, entweder last_name, first_name, was auch immer. – Kris
- 1. Rails 4: fields_for in fields_for
- 2. Dynamische Thread- und Label-Erstellung
- 3. rails: fields_for select
- 4. WPF: Dynamische Label-Zugabe in Grid
- 5. Gruppierung und fields_for
- 6. rails: fields_for und collection
- 7. fields_for options-Dokumentation?
- 8. Fields_for verschwinden beim Hinzufügen von access_nested_attributes_for
- 9. Verwenden eines Arrays mit fields_for
- 10. Wie man fields_for anpassen kann
- 11. fields_for not rendering - rails 3
- 12. Fields_for Nested Model Rails 3.2.2
- 13. mit fields_for an mehreren Stellen
- 14. fields_for nicht Objekt sin Schienen
- 15. Rails fields_for: child_index Option Erklärung
- 16. Das dynamische Erzeugen Label-Tag mit dem Attribut „for“
- 17. fields_for für verschachteltes Attribut gibt nichts zurück
- 18. fields_for Formular-Builder-Objekt ist null
- 19. Schienen has_one Verein fields_for Form nicht
- 20. Rails fields_for Formular nicht angezeigt, verschachtelte Form
- 21. fields_for Array Senden statt Hash (Rails 3)
- 22. Schienen mit has_many through und fields_for
- 23. Rail 3 UJS-Komplex bildet mehrere fields_for
- 24. Wie verwendet man in_place_editing statt fields_for?
- 25. Mit group_by mit fields_for und accepts_nested_attributes_for
- 26. Problem mit fields_for, _attributes in neue Aktion fehlt
- 27. iOS AutoLayout - Label überlappt in der Nähe Label
- 28. NativeScript Auto Skalierung Label oder Label Schriftart
- 29. LWUIT Label: Mit Bild als Label
- 30. Dynamische Tabellenansichtszelle
Können Sie versuchen zu erklären, was Sie besser erreichen möchten? Vielleicht ein Beispiel geben? Ich habe versucht zu verstehen, um dir zu helfen, aber ich kann nicht verstehen, was du brauchst. – Petros
Ich habe ein Objekt, das eine Eins-zu-viele-Beziehung mit einer Reihe von dynamischen Feldern {Name, Wert} hat. Wenn ein Benutzer die dynamischen Felder aktualisiert, möchte ich den Namen der Felder als tatsächliche Beschriftung anstelle der festbeschrifteten Beschriftung anzeigen. Oder ein vorgegebener String-Wert. Die dynamische Form befindet sich in einem partiellen und allen Daten. Snippets: _form.erb <% f.fields_for: entity_values do | builder | %> <% = render "entity_value_fields",: f => Builder%> <% end% _entity_value_fields.erb <% = f.label: name%> {label muss der dynamische Name dieses Werts sein} <% = f.text_field: Wert%> ... – sebajb