Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 3 从资源中排除文件:在rails中预编译_Ruby On Rails 3_Ruby On Rails 3.2_Less_Asset Pipeline_Precompile - Fatal编程技术网

Ruby on rails 3 从资源中排除文件:在rails中预编译

Ruby on rails 3 从资源中排除文件:在rails中预编译,ruby-on-rails-3,ruby-on-rails-3.2,less,asset-pipeline,precompile,Ruby On Rails 3,Ruby On Rails 3.2,Less,Asset Pipeline,Precompile,我使用codekit编写更少的代码,然后它会自动转换为css 我不希望rails将我的较少文件转换为css,我宁愿使用codekit 如果我通过 rake assets:precompile 我明白了 rake aborted! cannot load such file -- less 如何从预编译中排除特定文件夹/文件类型?(我所有的less文件都在app/assets/stylesheets/less中,css(我确实希望预编译)在app/assets/stylesheets/css中

我使用codekit编写更少的代码,然后它会自动转换为css

我不希望rails将我的较少文件转换为css,我宁愿使用codekit

如果我通过

rake assets:precompile
我明白了

rake aborted!
cannot load such file -- less
如何从预编译中排除特定文件夹/文件类型?(我所有的less文件都在app/assets/stylesheets/less中,css(我确实希望预编译)在app/assets/stylesheets/css中

更新

删除
application.less
可以解决这一问题,但首先我如何将其排除在处理之外?

指南:

编译文件的默认匹配器包括application.js, application.css和所有非JS/css文件(即.coffee和.scss 文件编译为JS/CSS时不会自动包含:

如果您有其他清单或单独的样式表和JavaScript 要包含的文件,可以将它们添加到预编译数组:

因此,我想说您的解决方案是修改
config.assets.precompile
以排除
.less
文件。可能是这样的(在合适的环境文件中,如
config/environments/production.rb
):


如果应用程序/资产文件夹下的目录结构为:

application.css
/css
 (generated by code kit)
 |...home.css
 |...index.css
/less
 |...home.less (assuming this is the extension)
 |...index.less
然后,在application.css文件中,必须有一个指令,指示
*=require\u tree。
这告诉rails扫描所有文件/目录,并尝试将所有文件编译成一个css文件


将此更改为
*=require_目录。/css
,它将加载
css
目录下的文件进行编译。

此操作失败,因为Rails不知道如何处理
less
文件。将
less Rails
gem添加到应用程序可能会删除错误,但这不是您在问题中提出的解决方案on.ok correction-当我把它放在production.rb.中时,这是有效的。而不是it application.rb.任何仅与bundle exectaly相同:(值得注意的是,我的树是/css/application.css和/less/application.lessAh!这将失败,因为application.css是编译子资产的主文件。
config.assets.precompile += ['admin.js', 'admin.css', 'swfObject.js']
config.assets.precompile = [ Proc.new{ |path| !File.extname(path).in?(['.js', '.css', '.less']) }, /application.(css|js)$/ ]
application.css
/css
 (generated by code kit)
 |...home.css
 |...index.css
/less
 |...home.less (assuming this is the extension)
 |...index.less