2017-12-06 5 views
0

Ich lade zwei Ansichten, die ein simple_form-Formularlayout wiedergeben, neu erstellen und bearbeiten.Angeben von sichtbaren Eingabefeldern aus dem Layout "simple_form"

Ich muss alle Eingabefelder zeigen, wenn das Benutzerprofil anfänglich erstellt wird (neu), und Felder angeben, die nicht angezeigt werden, wenn es für die Bearbeitung verwendet wird. Ich habe eine Menge Informationen um persisted gesehen, kann es aber nicht herausfinden.

Meine _form.html.slim Datei.

= simple_form_for([:admin, User.new]) do |f| 
    = f.error_notification 
    .form-inputs 
    = f.input :name, required: true, label: 'Name' 
    = f.input :email, required: true 
    = f.input :password, required: true, placeholder: ("#{@minimum_password_length} characters minimum" if @minimum_password_length) 
    = f.input :password_confirmation, required: true 

    .form-actions 
    = f.button :submit, "Create User", class: 'btn btn-primary btn-block btn-lg' 

Ich benutze Schienen und Slim - Jede Hilfe geschätzt.

+0

Sind Sie verwirrt darüber, wie Sie 'persisted?' In Ihrer Logik verwenden? – Abdullah

+0

https://stackoverflow.com/a/26817319/4089357 – Abdullah

Antwort

0

Sie können tatsächlich persisted? verwenden, um die Felder in der Form bedingt zu rendern.

= simple_form_for([:admin, User.new]) do |f| 
    = f.error_notification 
    .form-inputs 
    = f.input :name, required: true, label: 'Name' 
    = f.input :email, required: true 

    -# Say you don't want user to edit his password after creation 
    - unless f.object.persisted? 
     = f.input :password, required: true, placeholder: ("#{@minimum_password_length} characters minimum" if @minimum_password_length) 
     = f.input :password_confirmation, required: true 

    .form-actions 
     = f.button :submit, "Create User", class: 'btn btn-primary btn-block btn-lg' 

Hier f.object wird die User Instanz, für die sein, die Form wiedergegeben werden.

+0

Perfekt! Vielen Dank! –

+0

Großartig! Sie können die Antwort akzeptieren, wenn es geholfen hat. :) –

Verwandte Themen