2016-07-21 4 views
0

클릭하면 양식의 두 필드 (암호 및 password_confirmation을 숨기거나 표시)의 가시성을 토글합니다. ,사용자 정의 버튼 클릭시 양식의 필드 표시/숨기기 전환 토글

템플릿 관리자/사용자/toggle_password, active_admin/자원/toggle_password 누락 :

나는 양식에 표시되는 작업 항목 버튼을 얻을 수 있어요하지만이 클릭 할 때이 오류 메시지가 표시됩니다 active_admin/base/toggle_password, {: locale => [: en], : formats => [: html], 변형 : => [], : handlers =>와 함께 의 inherited_resources/base/toggle_password [: erb, : 빌더, : 원시, : 루비, : 커피, : arb]}.

내 관리자 파일 :

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 조치가 호출됩니다. 레일즈는 동일한 템플릿을 찾으려고합니다.

자바 스크립트를 사용하여 필드를 전환 할 수 있습니다. id을 링크에 추가하십시오.

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

이/뷰에서 자바 스크립트 파일이 될 것인가? 예 : app/views/user.js? – LKB

+0

예, 자바 스크립트 파일에 있습니다. 'app/assets/javascripts/user.js'. 또한'app/assets/javascripts/application.js' 파일에 '// = require user' 항목을 입력해야합니다 – Pramod