2016-07-21 11 views
0

クリックすると、フォーム上の2つのフィールド(パスワードとパスワードの確認を非表示にする)を表示/非表示に切り替えることを試みています。カスタムボタンのフォームにフィールドの表示/非表示を切り替える

私は、フォーム上に表示アクション項目のボタンを取得することができるよしかし、これをクリックしたときにこのエラーメッセージが表示されます、 active_admin /リソース/ toggle_password

をテンプレート管理者/ユーザー/ toggle_passwordがありません active_admin /塩基/ toggle_password、 inherited_resources /塩基/ toggle_password、アプリケーションと/ toggle_password {:ロケール=>:EN]:フォーマット=>:HTML]:変異体=> []、 :ハンドラ=> [:erb、:ビルダー、:生、ルビー、:コーヒー、:arb]}。

マイadminファイル:

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 

は、どのように私は自分自身の関数を呼び出すためのボタンクリックイベントをリンクすることができていますか?

答えて

0

コードごとに、Toggle Passwordリンクをクリックすると、アクションtoggle_passwordが呼び出されます。 Railsは同じテンプレートを探します。

javascriptを使用してフィールドを切り替えることができます。 idをリンクに追加します。 JavaScriptで

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 

、あなたが

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

を書くことができ、これは下/ビューjavascriptのファイルでしょうか?例えば。 app/views/user.js? – LKB

+0

はい、javascriptファイルになります。 'app/assets/javascripts/user.js'。 また、 'app/assets/javascripts/application.js'ファイルに、 ' // = require user'と入力する必要があります – Pramod

関連する問題