用于活动管理表单的选择轨道

时间:2014-11-24 12:47:37

标签: jquery ruby-on-rails activeadmin

我想在active_admin页面上保留项目创建。现在我拥有的是一堆复选框,例如,功能颜色。我想要做的是在输入时使用某种过滤器,可以过滤掉那些chekbox。它们是复选框,选择还是其他什么并不重要。

我建议使用chosen-rails。现在这就是我所拥有的:

在我的item.rb中:

PropertyType.find_each do |pt|
        f.input :property_values, label: pt.display_name,  as: :select, collection: pt.property_values.order(name: :asc, display_name: :asc).load , multiple: true, input_html: { class: 'chosen-select' }
      end

在我的application.js中:

//= require chosen-jquery
//= require active_admin

在我的application.css中:

 *= require chosen

在我的active_admin.js中:

$(document).ready(function() {

  $('.chosen-select').chosen({
    allow_single_deselect: true,
    no_results_text: 'No results matched',
    width: '200px'
  });

});

,最后,在我的gemfile中:

gem 'chosen-rails'.

但选择似乎并没有发挥其魔力。我错过了什么吗?

感谢。

2 个答案:

答案 0 :(得分:1)

ActiveAdmin加载自己的JavaScript组件,这可能会导致主机应用程序JavaScript环境出现问题。例如:

Activeadmin stops my jQuery working

https://github.com/activeadmin/activeadmin/wiki/Include-javascript-before-the-rest-of-the-active_admin-javascripts

您可能必须在ActiveAdmin配置中注册并更改加载顺序。

答案 1 :(得分:1)

为了加载样式,您需要执行以下操作:将以下行添加到active_admin.rb(初始值设定项)中:

config.register_stylesheet 'active_admin_custom.css'

在那里你应该添加你想要的所有样式。否则它将与你的常规CSS重叠。