2016-07-21 3 views
0

Ich versuche, eine benutzerdefinierte Schaltfläche zu implementieren, die beim Klicken die Sichtbarkeit von zwei Feldern im Formular ändert (password und password_confirmation werden ausgeblendet/angezeigt).Ein-/Ausblenden von Feldern im Formular bei benutzerdefinierter Schaltfläche Klicken Sie auf

Ich bin in der Lage ein Aktionselement Schaltfläche auf dem Formular angezeigt zu bekommen, aber wenn diese diese Fehlermeldung angezeigt wird geklickt wird:

Fehlende Vorlage admin/users/toggle_password, active_admin/Mittel/toggle_password, active_admin/base/toggle_password, vererbte_ressourcen/base/toggle_password, application/toggle_password mit {: locale => [: en],: formats => [: html],: varianten => [], : handlers => [: Erb,: Erbauer,: roh,: Rubin,: Kaffee,: Arb}].

My Admin-Datei:

ActiveAdmin.register User do 
    menu parent: 'User Management' 

    permit_params :email, :password, :password_confirmation 

    index do 
    selectable_column 
    id_column 
    column :email 
    column :created_at 
    actions 
    end 

    form do |f| 
    f.inputs "Details" do 
     f.input :email 
     f.input :password 
     f.input :password_confirmation 
    end 
    f.actions 

    end 

    action_item :toggle_password, only: %i(show edit) do 
    # Link to perform the member_action "toggle_password" defined below 
    link_to 'Toggle Password', action: :toggle_password 
    end 

    member_action :toggle_password do 
    # show/hide password field 
    end 

end 

Wie bin ich in der Lage auf die Schaltfläche Click-Ereignis zu verknüpfen, um eine Funktion meiner eigenen zu nennen?

Antwort

0

Gemäß Ihrem Code rufen Sie bei Klick auf den Link Toggle Password die Aktion toggle_password auf. Schienen werden versuchen, entsprechende Vorlage für das gleiche zu finden.

Sie können Feld mit Javascript umschalten. Fügen Sie der Verknüpfung einen id hinzu.

action_item :toggle_password, only: %i(show edit) do 
    # Link to perform the member_action "toggle_password" defined below 
    link_to 'Toggle Password', id: 'link', action: :toggle_password 
end 

In JavaScript können Sie

$('#link').click(function() { 
    $(<#id of password & password confirmation field>).toggle(); 
}); 
+0

Wäre dies eine JavaScript-Datei unter/Ansichten sein schreiben? Z.B. App/Ansichten/Benutzer.js? – LKB

+0

Ja, es wird in Javascript-Datei sein. 'app/assets/javascripts/user.js'. Sie müssen auch einen Eintrag in der Datei "app/assets/javascripts/application.js" als '// = require user' eingeben – Pramod

Verwandte Themen