如何在Rails Active Admin中添加Colorpicker?

时间:2014-02-11 13:31:25

标签: ruby-on-rails activeadmin

我想在其中一个Active Admin表单中实现此http://www.eyecon.ro/colorpicker/#about或任何其他颜色选择器。

任何帮助都是适用的。

谢谢, GS

3 个答案:

答案 0 :(得分:9)

因为你想使用" raw"库,它会有点复杂,你应该重命名库正在使用的图像的路径,javascripts等...所以我会建议你使用另一个带有rails-integration的颜色选择器,它将是一个更容易,请检查这个例如jQuery colorpicker for Rails,使用此步骤

首先是你的宝石文件

gem 'jquery-minicolors-rails'

第二次将js的requiere添加到active_admin并加载minicolors()函数

active_admin.js

//= require active_admin/base
//= require jquery
//= require jquery.minicolors
jQuery( function($) {
    $(".colorpicker").minicolors()
});

第三步将css添加到sass活动管理员的顶部

active_admin.css.scss

/*
*= require jquery.minicolors
*/
// SASS variable overrides must be declared before loading up Active Admin's styles.
//
// To view the variables that Active Admin provides, take a look at
// `app/assets/stylesheets/active_admin/mixins/_variables.css.scss` in the
// Active Admin source.
//
// For example, to change the sidebar width:
// $sidebar-width: 242px;

// Active Admin's got SASS!
@import "active_admin/mixins";
@import "active_admin/base";

// Overriding any non-variable SASS must be done after the fact.
// For example, to change the default status-tag color:
//
//   .status_tag { background: #6090DB; }

最后以你的形式

f.input :name, input_html: { class: 'colorpicker' }

你可以看到我使用类colopicker来识别带有jquery函数的输入

你可以为此申请更多的CSS,但这对我来说已经足够了,并且是最简单的方式,问候!

答案 1 :(得分:3)

最快捷的方法就是使用input_html选项为您的输入添加一个类。

f.input :color, input_html: { class: 'colorpicker' }

然后在active_admin.js.coffee中添加代码,将.colorpicker输入字段转换为颜色选择器。

如果您打算制作很多这些选项,或者为它们添加选项,那么制作一个custom Formtastic input来添加这些类并合并可以通过颜色选择器拾取的选项可能是值得的。库。

答案 2 :(得分:2)

您可以使用html5颜色输入。这是一个例子:

f.input :color, as: :color

我正在使用rails 4.2.0和ruby 2.2.1,它对我来说很好。