【问题标题】:Toggle show/hide of fields on form on custom button click在自定义按钮单击时切换显示/隐藏表单上的字段
【发布时间】:2016-07-21 10:38:23
【问题描述】:

我正在尝试实现一个自定义按钮,当单击该按钮时,它会切换表单上两个字段的可见性(要隐藏/显示密码和密码确认)。

我能够在表单上显示一个操作项按钮,但是当单击它时会显示此错误消息:

缺少模板 admin/users/toggle_password, active_admin/resource/toggle_password, active_admin/base/toggle_password, 继承的资源/基础/切换密码,应用程序/切换密码 使用 {:locale=>[:en], :formats=>[:html], :variants=>[], :handlers=>[: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

如何链接按钮点击事件来调用我自己的函数?

【问题讨论】:

    标签: ruby-on-rails activeadmin


    【解决方案1】:

    根据您的代码,点击链接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();
    });
    

    【讨论】:

    • 这会是 /views 下的 javascript 文件吗?例如。 app/views/user.js?
    • 是的,它将在 javascript 文件中。 app/assets/javascripts/user.js。您还必须在app/assets/javascripts/application.js 文件中输入//= require user
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-21
    • 1970-01-01
    • 2021-12-02
    • 2021-06-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多