标签: asset-pipeline

rails 3.1资产管道:忽略gem中的资产

我不太确定实际的行为是什么,所以我的第一个问题是:
来自gem(在我的Spree中)的资产(例如javascripts)是否总是被编译?我不使用Spree的javascripts,因此不希望它们被编译.我不需要在我application.js或任何其他javascript文件中,但是

rake assets:precompile
Run Code Online (Sandbox Code Playgroud)

虽然编译它们.我只是不希望他们躺在我的public/assets文件夹中.

所以我想我的问题是,有没有办法禁止从gem编译javascripts?

ruby-on-rails sprockets asset-pipeline

6
推荐指数
1
解决办法
2354
查看次数

rails 3.1一些资产未在生产时进行预编译

我遇到了Heroku的问题,显示我的'places.js'没有预编译,即使我在雪松堆栈上运行,并且在slug编译期间它正在运行rake预编译任务.所以我尝试在本地运行它rake assets:precompile RAILS_ENV=production,事实上rails并没有预编译我的/app/assets/javascripts/places.js.coffee.erb资产.

production.rb正在使用默认的rails 3.1配置,我甚至尝试从资产中删除.erb,但无济于事.

我还想过,因为我的places.js.coffee.erb资产不包含在链轮清单中(我手动将其包含在我的应用程序中),也许它只预编译清单中的资产.在清单中要求它也不起作用.

只有我application.js.coffee和`application.css正在预编译(有和没有摘要).

我发现的唯一问题可能是用于匹配资产的差的正则表达式,但默认值(?:\/|\\|\A)application\.(css|js)$与我的资产不匹配,因此应该包含它.

我不知道如何从这里排除故障.一切都是默认的.关于这里可能发生什么的任何想法?

ruby-on-rails-3.1 asset-pipeline

6
推荐指数
1
解决办法
5931
查看次数

将vendor/assets/javascripts添加到我的有效资产路线

我正在尝试做这项工作,但这让我很生气.我已经把它设置好了

application.rb中

config.assets.paths << Rails.root.join("vendor", "assets", "javascripts").to_s
Run Code Online (Sandbox Code Playgroud)

(.to_s因为它返回一个对象,而我在这里想要一个字符串).我找不到解决方案,并让我发疯,因为供应商的样式表目录工作,但javascripts不是.

我怎样才能做到这一点?

错误返回:

<h1>Routing Error</h1>
<p><pre>No route matches [GET] &quot;/assets/ext-all-debug.js&quot;</pre></p>
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails ruby-on-rails-3 asset-pipeline

6
推荐指数
1
解决办法
5485
查看次数

Rails 3.1资产管道在生产中

我正在使用资产管道(在Rails 3.1.3中)并且正在努力使其在生产中工作.

情况

在我的/app/assets/stylesheets目录中,我有以下文件:

application.css --> this is the default rails one
stylesheet.css --> This is my custom stylesheet
Run Code Online (Sandbox Code Playgroud)

我花了很多时间将我的stylesheet.css包含在/public/assets/生产目录中(通过运行rake assets:precompile),我最终通过在我的application.rb文件中添加以下行来实现:

    config.assets.precompile += ['stylesheet.css']
Run Code Online (Sandbox Code Playgroud)

我知道stylesheet.css在生产中有正确的预编译文件.

我的问题

我遇到的问题是stylesheet_link_tag与我的stylesheet.css文件一起使用时.事实证明:

<%= stylesheet_link_tag "stylesheet" %><link href="/stylesheets/stylesheet.css" media="screen" rel="stylesheet" type="text/css"> 在生产中被解析我希望解决的路径/assets/stylesheet.css 就像在开发中一样.

更令人惊讶的是,application.css即使<%= stylesheet_link_tag "application"%>解决了这个问题,表现也很完美<link href="/stylesheets/stylesheet.css" media="screen" rel="stylesheet" type="text/css">.我不明白的是rails 3.1中不存在public/stylesheets /目录.

任何的想法 ?

production ruby-on-rails-3.1 asset-pipeline

6
推荐指数
2
解决办法
5044
查看次数

Rails - 资产管道 - 按目录标识资源

说,在vendor/assets我有两个子目录,/alpha并且/beta,每一个命名的文件temp.jpg.根据我的理解,我们提出了一个GET请求/assets/temp.jpg,我很确定是否提供了alpha目录中的那个.但我怎样才能区分他们两个呢?我认为这可以通过asset_url助手完成,但我不太确定 - 如果有人可以建议这将是伟大的.

ruby-on-rails-3.1 asset-pipeline

6
推荐指数
1
解决办法
713
查看次数

通过资产拆分IE的css文件的最佳方法是:预编译资产管道

我现在用的是 CssSplitter模块通过CristianPeters.我希望在资产期间进行拆分:预编译任务,到目前为止我唯一成功的方法是修补Sprockets :: StaticCompiler.希望有更好的方法来做到这一点.

我很感激任何建议

ruby-on-rails-3 asset-pipeline ruby-on-rails-3.2

6
推荐指数
1
解决办法
447
查看次数

是否有一个"Rails方式"将Twitter Bootstrap主题折叠到Rails 3应用程序中?

我在网上购买了一个漂亮的Twitter Bootstrap,这将为我的Rails 3.2.8应用程序增添趣味.该软件包包含以下目录:

/css
/img
/js
Run Code Online (Sandbox Code Playgroud)

当然,这些文件将在其中具有相互之间的相对链接.是否存在将此类内容整合到资产管道中的标准方法,还是将其公开的标准做法?

ruby-on-rails asset-pipeline twitter-bootstrap ruby-on-rails-3.2

6
推荐指数
1
解决办法
808
查看次数

预编译时从js.erb文件访问模型

我有一个Rails 3应用程序,我试图用我的数据库中的每个Nation(少于300个国家)填充javascript变量作为JSON对象.这是我nations.js.erb文件中的相关行:

_this.nations = <%= Nation.all.to_json :only => [:id], :methods => :text %>;
Run Code Online (Sandbox Code Playgroud)

当我在浏览器中调用我的js文件时,/assets/users.js这需要民族文件,该_this.nations变量完全填充.当我尝试进行预编译时,我得到以下内容:

$> rake assets:precompile
$> rake aborted!
uninitialized constant Nation (in nations.js.erb)
Run Code Online (Sandbox Code Playgroud)

所以我的问题是:是否可以Nationjs.erb文件中引用模型或任何模型进行预编译?我也尝试使用我的NationsHelper但我的错误只是改为未初始化的常量NationsHelper.

我对RoR很新,所以如果需要我没有提供的相关信息,请问问.

ruby-on-rails precompile asset-pipeline

6
推荐指数
1
解决办法
1274
查看次数

使用rake 10.1.0预编译资产时出错

我使用rake 10.0.4并且我已经升级到10.1.0,但现在当我部署到我的登台服务器时它会抛出我:

rake aborted!
undefined method `push' for LL("db"):Rake::Scope
/home/alter/.rvm/gems/ruby-1.9.3-p429@3.2.13/gems/seedbank-0.1.3/lib/seedbank/dsl.rb:11:in `override_task'
/home/alter/.rvm/gems/ruby-1.9.3-p429@3.2.13/gems/seedbank-0.1.3/lib/tasks/seed.rake:42:in `block in <top (required)>'
/home/alter/.rvm/gems/ruby-1.9.3-p429@3.2.13/gems/seedbank-0.1.3/lib/tasks/seed.rake:1:in `<top (required)>'
/home/alter/.rvm/gems/ruby-1.9.3-p429@3.2.13/gems/activesupport-3.2.13/lib/active_support/dependencies.rb:245:in `load'
/home/alter/.rvm/gems/ruby-1.9.3-p429@3.2.13/gems/activesupport-3.2.13/lib/active_support/dependencies.rb:245:in `block in load'
/home/alter/.rvm/gems/ruby-1.9.3-p429@3.2.13/gems/activesupport-3.2.13/lib/active_support/dependencies.rb:236:in `load_dependency'
/home/alter/.rvm/gems/ruby-1.9.3-p429@3.2.13/gems/activesupport-3.2.13/lib/active_support/dependencies.rb:245:in `load'
/home/alter/.rvm/gems/ruby-1.9.3-p429@3.2.13/gems/seedbank-0.1.3/lib/seedbank.rb:19:in `block in load_tasks'
/home/alter/.rvm/gems/ruby-1.9.3-p429@3.2.13/gems/seedbank-0.1.3/lib/seedbank.rb:19:in `each'
/home/alter/.rvm/gems/ruby-1.9.3-p429@3.2.13/gems/seedbank-0.1.3/lib/seedbank.rb:19:in `load_tasks'
/home/alter/.rvm/gems/ruby-1.9.3-p429@3.2.13/gems/seedbank-0.1.3/lib/seedbank/railtie.rb:9:in `block in <class:Railtie>'
/home/alter/.rvm/gems/ruby-1.9.3-p429@3.2.13/gems/railties-3.2.13/lib/rails/railtie.rb:184:in `instance_exec'
/home/alter/.rvm/gems/ruby-1.9.3-p429@3.2.13/gems/railties-3.2.13/lib/rails/railtie.rb:184:in `block in load_tasks'
/home/alter/.rvm/gems/ruby-1.9.3-p429@3.2.13/gems/railties-3.2.13/lib/rails/railtie.rb:184:in `each'
/home/alter/.rvm/gems/ruby-1.9.3-p429@3.2.13/gems/railties-3.2.13/lib/rails/railtie.rb:184:in `load_tasks'
/home/alter/.rvm/gems/ruby-1.9.3-p429@3.2.13/gems/railties-3.2.13/lib/rails/engine.rb:423:in `block in load_tasks'
/home/alter/.rvm/gems/ruby-1.9.3-p429@3.2.13/gems/railties-3.2.13/lib/rails/application/railties.rb:8:in `each'
/home/alter/.rvm/gems/ruby-1.9.3-p429@3.2.13/gems/railties-3.2.13/lib/rails/application/railties.rb:8:in `all'
/home/alter/.rvm/gems/ruby-1.9.3-p429@3.2.13/gems/railties-3.2.13/lib/rails/engine.rb:423:in `load_tasks'
/home/alter/.rvm/gems/ruby-1.9.3-p429@3.2.13/gems/railties-3.2.13/lib/rails/application.rb:145:in `load_tasks'
/home/alter/.rvm/gems/ruby-1.9.3-p429@3.2.13/gems/railties-3.2.13/lib/rails/railtie/configurable.rb:30:in `method_missing'
/home/alter/workspace/MyApp/Rakefile:7:in `<top (required)>'
/home/alter/.rvm/gems/ruby-1.9.3-p429@3.2.13/bin/ruby_noexec_wrapper:14:in `eval'
/home/alter/.rvm/gems/ruby-1.9.3-p429@3.2.13/bin/ruby_noexec_wrapper:14:in `<main>'
(See full trace by running task with --trace) …
Run Code Online (Sandbox Code Playgroud)

rake ruby-on-rails asset-pipeline

6
推荐指数
1
解决办法
854
查看次数

在Rails中禁用资产预编译功能

我想在rails中禁用资产预编译功能.我正在使用用户可以下载代码的应用程序,我想避免更改下载的html文件中的css和js文件的名称 - 以便用户可以运行index.html并查看所有内容.

这是应用程序:http: //impress-builder.herokuapp.com/

ruby-on-rails heroku asset-pipeline

6
推荐指数
2
解决办法
9569
查看次数