2016-07-21 61 views
0

我試圖實現一個自定義按鈕,點擊時,切換窗體上的兩個字段(密碼和password_confirmation被隱藏/顯示)的可見性。在自定義按鈕上點擊表格上的字段的顯示/隱藏

我能夠獲取表單上顯示的行動項目按鈕,但這個被點擊時顯示此錯誤消息:

缺少模板管理/用戶/ toggle_password, active_admin /資源/ toggle_password, active_admin /鹼/ toggle_password, inherited_resources /鹼/ toggle_password,應用/ toggle_password 含{:區域設置=> [:EN]:格式=> [:HTML]:變體=> [], :處理程序=> [:erb,:builder,:raw,:ruby,:coffee,: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。 Rails將嘗試爲相同的模板找到相應的模板。

您可以使用javascript切換字段。 將鏈接添加一個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 

在JavaScript中,你可以寫

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

這會是下/視圖javascript文件?例如。應用程序/視圖/ user.js的? – LKB

+0

是的,它將在JavaScript文件中。 '應用程序/資產/ Java腳本/ user.js'。 您還必須在'app/assets/javascripts/application.js'文件中輸入爲 '// = require user' – Pramod

相關問題