Ich verwende Cocoon für verschachtelte Formulare. Für task
Datensätze , die bereits erstellt wurden, möchte ich description
read_only sein.Rails Cocoon schreibgeschützte Felder
projects/_form ::
= simple_form_for @project do |f|
= f.input :name
= f.input :description
%h3 Tasks
#tasks
= f.simple_fields_for :tasks do |task|
= render 'task_fields', f: task
.links
= link_to_add_association 'add task', f, :tasks
= f.submit
Und _task_fields:
.nested-fields
- if @task.description?
= f.text_field :description, disabled: true
- else
= f.input :description
= f.input :done, as: :boolean
= link_to_remove_association "remove task", f
Derzeit ist die Validierung in _task_fields
funktioniert nicht: undefined method <description> for nil:NilClass
in der Zeile mit if
Aussage. Wie kann ich die IF statement
richtig schreiben?
Was ist das Problem, das Sie gerade haben? – Pavan
'disabled: true' sollte mit' Cocoon' arbeiten, sehe ich 'else' Abschnitt (' = f.input: description') hat nicht 'disabled: true' – dp7
Die Idee ist es, die Beschreibung' read_only' für Datensätze zu haben die zuvor gespeichert und beim Rendern einer neuen Aufgabe bearbeitet wurden –