小编Dav*_*age的帖子

Rails中适当的SCSS资产结构

所以,我有一个app/assets/stylesheets/看起来像这样的目录结构:

   |-dialogs
   |-mixins
   |---buttons
   |---gradients
   |---vendor_support
   |---widgets
   |-pages
   |-structure
   |-ui_elements
Run Code Online (Sandbox Code Playgroud)

在每个目录中,有多个sass partials(通常是*.css.scss,但是一个或两个*.css.scss.erb).

我可能会假设很多,但rails应该自动编译那些目录中的所有文件,因为*= require_tree .在application.css中,对吧?

我最近尝试通过删除所有颜色变量并将它们放在根app/assets/stylesheets文件夹(_colors.css.scss)中的文件中来重构这些文件.然后我在app/assets/stylesheets名为master.css.scss 的根文件夹中创建了一个文件,如下所示:

// Color Palette 
@import "colors";

// Mixins
@import "mixins/buttons/standard_button";
@import "mixins/gradients/table_header_fade";
@import "mixins/vendor_support/rounded_corners";
@import "mixins/vendor_support/rounded_corners_top";
@import "mixins/vendor_support/box_shadow";
@import "mixins/vendor_support/opacity";
Run Code Online (Sandbox Code Playgroud)

我真的不明白rails如何处理资产编译的顺序,但它显然不利于我.看来没有一个文件意识到他们有任何变量或mixins被导入,所以它抛出错误,我无法编译.

Undefined variable: "$dialog_divider_color".
  (in /home/blah/app/assets/stylesheets/dialogs/dialog.css.scss.erb)

Undefined mixin 'rounded_corners'.
  (in /home/blah/app/assets/stylesheets/widgets.css.scss)
Run Code Online (Sandbox Code Playgroud)

该变量$dialog_divider_color在_colors.css.scss中明确定义,并_master.css.scss导入颜色和我的所有mixins.但显然铁路没有获得那份备忘录.

有什么方法可以解决这些错误,还是我需要将所有变量定义放回每个单独的文件,以及所有mixin导入?

不幸的是,这家伙似乎并不认为这是可能的,但我希望他错了.任何想法都非常感谢.

css ruby-on-rails sass asset-pipeline

82
推荐指数
3
解决办法
5万
查看次数

获取一个Javascript关联数组?

我在Javascript中有一个关联数组对象,我只需要一部分.使用常规数组,我只使用切片来获取我需要的部分,但显然这不适用于关联数组.是否有任何内置的Javascript函数,我可以使用它只返回此对象的一部分?如果没有,那么这样做的最佳做法是什么?谢谢!

javascript arrays associative-array

10
推荐指数
1
解决办法
1万
查看次数

Ruby:基于整数数组对对象数组进行排序

这看起来很简单,之前应该问过,但我在Stack Overflow上找到的所有内容似乎都不起作用.我有一个包含4个对象的数组,我想按特定顺序重新排序.所以,它看起来像这样:

array = [Obj1, Obj2, Obj3, Obj4]
Run Code Online (Sandbox Code Playgroud)

我有另一个整数数组,代表索引的所需顺序:

desired_order = [2,3,0,1]
Run Code Online (Sandbox Code Playgroud)

所以我想在array正确订购后看到的是:

array = [Obj3, Obj4, Obj1, Obj2]
Run Code Online (Sandbox Code Playgroud)

我已经想到sort_by了要使用的方法,但我似乎无法提出正确的语法.任何帮助是极大的赞赏!

ruby arrays sorting

4
推荐指数
2
解决办法
464
查看次数

如何将Kentico实例复制到本地计算机?

我刚刚开始了一个新的职位,取代了一个突然开发Kentico CMS项目的开发人员.我对ASP和Kentico完全不熟悉,所以这里的答案需要为初学者量身定制.我熟悉其他语言(PHP,Ruby,SQL等),但不知道从哪里开始.

所以,我想要做的就是将我们的生产站点(db和all)中的所有内容复制到我的本地机器上,以便我可以更轻松地开发它.我已经将db导出到SQL文件中,并将Kentico Instance文件夹中的所有文件复制到github中,并将其克隆到我的本地计算机上.我假设因为Kentico已经"设置",在他们的文档中完成安装过程并不是解决这个问题的方法.

任何帮助都会非常感激!

asp.net kentico

3
推荐指数
1
解决办法
1900
查看次数

在ActiveAdmin中获取Formtastic以使用自定义表单输入构建器

更新:所以,我发现了这一点,显然这就是为什么这种旧的做事方式不起作用,ActiveAdmin必须使用Formtastic 2.x. 按照指示,我现在创建了一个文件app/inputs/date_picker_input.rb,如下所示:

class DatePickerInput
  include Formtastic::Inputs::Base

  def to_html
    puts "this is my datepickerinput"
  end
end
Run Code Online (Sandbox Code Playgroud)

我的控制器现在看起来像这样:

  f.input :open_date, :as => :date_picker
  f.input :close_date, :as => :date_picker
Run Code Online (Sandbox Code Playgroud)

但现在我遇到了这个错误:

ActionView::Template::Error (undefined method 'html_safe' for nil:NilClass): 1: render renderer_for(:edit)

有什么想法吗?



我遇到了一个问题,Formtastic自动将日期格式化为我不想要的格式(Ymd h:i:s Z),当我尝试渲染时:as => string,我可以在该字段上使用日期选择器.在试图解决这个问题时,我遇到了这个解决方案.

它似乎有意义,是我正在处理的完全相同的问题.但是,我似乎无法实现修复,我想知道是否因为Formtastic正在通过ActiveAdmin使用.所以,这就是我试图做的事情:

在控制器中,我已经改变了方法:

f.input :open_date, :as => :date

我也试过这个,虽然我的问题甚至无法达到这一点:

f.input :open_date, :as => :date_input

lib/datebuilder.rb使用以下代码创建了一个文件:

class DateBuilder < Formtastic::SemanticFormBuilder 
  def date_input(method, options) 
    current_value = @object.send(method) 
    html_options ||= …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails formtastic ruby-on-rails-3 activeadmin

2
推荐指数
1
解决办法
3984
查看次数