我的Rails 3.1.rc4应用程序工作正常,但我正在试图找出将js文件存储在管道中的适当方法.如果我将任何代码放在application.js以外的文件中,我会收到以下错误:
在2011-07-21 23:15:02 -0500开始GET"/assets/application.js"为127.0.0.1编译〜/ Dropbox/Rails/myapp/app/assets/javascripts/application.js.coffee(224ms) (pid 69397)编译资产application.js时出错:ExecJS :: ProgramError:SyntaxError:第1行的保留字"function"(在/Users/micahalcorn/Dropbox/Rails/myapp/app/assets/javascripts/users/registrations.js中.coffee)服务资产/application.js - 500内部服务器错误
发生这种情况而不管哪个文件(registrations在这种情况下)并要求该文件(在"保留字"不管第一字的var,function等).我使用node.js作为我的运行时环境,如果我删除coffeescript编译gems并将其视为Rails 3.0应用程序,一切正常.我想更好地理解资产管道并遵循惯例.谢谢你的任何建议!
node.js coffeescript ruby-on-rails-3.1 execjs asset-pipeline
我敢肯定,我只是在这里忽略了一些简单的东西,但这一直让我疯狂!当试图将Rails 3.1.rc4应用程序部署到Heroku上的Cedar堆栈时(我在一个月前用类似的Gemfile成功完成了这个)我收到此错误:
Could not find sprockets-2.0.0.beta.10 in any of the sources
Run Code Online (Sandbox Code Playgroud)
我的Gemfile看起来像这样:
source 'http://rubygems.org'
# Core
gem 'rails', '3.1.0.rc4'
# Asset template engines
gem 'sass-rails', "~> 3.1.0.rc"
gem 'coffee-script'
gem 'uglifier'
# Misc
gem 'devise'
gem 'jquery-rails'
gem 'omniauth'
gem 'fb_graph'
gem 'compass', git: 'https://github.com/chriseppstein/compass.git', branch: 'rails31'
gem 'haml'
gem 'cancan'
gem 'kaminari'
gem 'friendly_id', '~> 3.3.0', git: 'https://github.com/norman/friendly_id.git'
gem 'recaptcha', :require => 'recaptcha/rails'
gem 'aws-ses', '~> 0.4.3', :require => 'aws/ses'
# Local Environment
group :test do
# Pretty printed …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用Rails 3.1 Asset Pipeline来存储我在多个应用程序中使用的一些字体.我已经尝试了几乎存储位置的每个组合,但我似乎无法让管道实际上拿起我的字体文件.他们会在public/assets我跑步时出现,rake assets:precompile但是他们没有任何asset_path助手可以使用,我也无法找出原因.
示例来自fonts.css.erb:
@font-face {
font-family: 'MuseoSans';
src: url('<%= asset_path('museosans_500_italic_webfont.eot') %>');
src: url('<%= asset_path('museosans_500_italic_webfont.eot?#iefix') %>') format('eot'),
url('<%= asset_path('museosans_500_italic_webfont.woff') %>') format('woff'),
url('<%= asset_path('museosans_500_italic_webfont.ttf') %>') format('truetype'),
url('<%= asset_path('museosans_500_italic_webfont.svg#webfontcWw5DXpH') %>') format('svg');
font-weight: normal;
font-style: italic;
}
Run Code Online (Sandbox Code Playgroud)
输出ls app/assets/images(卡住了images因为assets/fonts没有工作,但同时缺乏工作):
museosans_100_italic_webfont.eot museosans_500_webfont.eot
museosans_100_italic_webfont.svg museosans_500_webfont.svg
museosans_100_italic_webfont.ttf museosans_500_webfont.ttf
museosans_100_italic_webfont.woff museosans_500_webfont.woff
museosans_100_webfont.eot museosans_700_italic_webfont.eot
museosans_100_webfont.svg museosans_700_italic_webfont.svg
museosans_100_webfont.ttf museosans_700_italic_webfont.ttf
museosans_100_webfont.woff museosans_700_italic_webfont.woff
museosans_300_italic_webfont.eot museosans_700_webfont.eot
museosans_300_italic_webfont.svg museosans_700_webfont.svg
museosans_300_italic_webfont.ttf museosans_700_webfont.ttf
museosans_300_italic_webfont.woff museosans_700_webfont.woff
museosans_300_webfont.eot museosans_900_italic_webfont.eot
museosans_300_webfont.svg museosans_900_italic_webfont.svg …Run Code Online (Sandbox Code Playgroud) 我正在使用Rails 3资产管道.我遇到了需要以特定方式订购我的Javascript文件的情况,所以我将它们全部显式添加到application.js,如下所示:
//= require admin
//= require application
//= require users
...
//= require_self
...
Run Code Online (Sandbox Code Playgroud)
它在本地工作,但当我推到Heroku时,我得到了一个疯狂的javascript(coffeescript)错误:
Uncaught Error: LoadError: no such file to load -- ["ok", "(function() {\n\n ...
Run Code Online (Sandbox Code Playgroud)
这将继续我所包含的第一个coffeescript文件的全部内容.也就是说,错误消息包含一堆javascript代码.就像它试图包含一个名为一堆代码的文件.
如何修复此错误,还是有更好的方法来手动指定我的javascript包含的顺序?
我已将heroku上的应用程序升级为雪松堆栈,以便资产管道正常工作.我已经按照heroku的文档中的说明选择在本地编译资源.
这创建了一个目录public/assets.生产中的一切都完美无缺(css,js,没有任何问题).回到我的开发环境似乎会导致js无法正常运行.
在environment/production.rb中
config.serve_static_assets = false
config.assets.compress = true
config.assets.compile = true
config.assets.digest = true
Run Code Online (Sandbox Code Playgroud)
在environment/development.rb中
config.assets.compress = false
config.assets.debug = true
config.assets.compile = true
Run Code Online (Sandbox Code Playgroud)
我检查了源页面,所有文件都正确加载,没有重复的条目.我已经阅读了一些关于是在本地还是在生产中编译资产的SO问题,但它们似乎都没有帮助.还有其他我缺少的东西来恢复我的开发javascript代码,这是正确的程序吗?谢谢
我有一个叫做的图像ui-icons_ffffff_256x240.png.在生产中,它可以在其他地方找到public/assets/images/ui-icons_ffffff_256x240.png.
当我尝试在生产中查看此图像时,出现以下错误:
ActionController::RoutingError (No route matches [GET] "/assets/images/ui-icons_ffffff_256x240.png"):
Run Code Online (Sandbox Code Playgroud)
我发现这非常奇怪,因为图像肯定存在:
$ find . -name ui-icons_ffffff_256x240.png
./vendor/assets/stylesheets/jquery-ui/images/ui-icons_ffffff_256x240.png
./public/assets/jquery-ui/images/ui-icons_ffffff_256x240.png
./public/assets/images/ui-icons_ffffff_256x240.png
Run Code Online (Sandbox Code Playgroud)
我的应用程序中的所有其他图像工作正常,并一直是永远.我最近升级了我的jQuery UI版本,并且这个特定的图像不想工作.(我认为这是我实际使用的唯一的jQuery UI图像.)
我在Rails 3.2.1上.可能是什么问题?
我已经阅读了几个关于这个问题的stackoverflow问题,但似乎没有一个对我有用.我的环境是Rails 3.1.6,Ruby 1.9.3,sass-rails 3.1.0.
我正在尝试将字体添加到供应商/资产/字体.当我将字体文件(例如:1eaf27c0-f4de-4273-9f4c-1b3236ad2f3c.woff)添加到该目录并重新启动服务器时.如果我去localhost:3000/assets/1eaf27c0-f4de-4273-9f4c-1b3236ad2f3c.woff,我得到404.
任何想法为什么会这样?我试过添加
config.assets.paths <<"#{Rails.root}/vendor/assets/fonts"
到application.rb与它仍然无法正常工作.
fonts ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1 asset-pipeline
嗨再次我正在尝试将我的应用程序部署到heroku但我收到此错误:
We're sorry, but something went wrong.
Run Code Online (Sandbox Code Playgroud)
我不知道为什么会发生这种情况,我已经预先编译了资产
bundle exec rake assets:precompile
Run Code Online (Sandbox Code Playgroud)
如果你想在这里看到我的日志:
2012-08-13T16:03:42+00:00 app[web.1]: Started GET "/" for 190.242.128.66 at 2012-08-13 16:03:42 +0000
2012-08-13T16:03:42+00:00 app[web.1]: Processing by StaticPagesController#home as HTML
2012-08-13T16:03:42+00:00 app[web.1]: Rendered static_pages/home.html.erb within layouts/application (1.7ms)
2012-08-13T16:03:42+00:00 app[web.1]: Completed 500 Internal Server Error in 87ms
2012-08-13T16:03:42+00:00 app[web.1]:
2012-08-13T16:03:42+00:00 app[web.1]: ActionView::Template::Error (highcharts.js isn't precompiled):
2012-08-13T16:03:42+00:00 app[web.1]: 5: <%= stylesheet_link_tag "application", :media => "all" %>
2012-08-13T16:03:42+00:00 app[web.1]: 6: <%= javascript_include_tag "application" %>
2012-08-13T16:03:42+00:00 app[web.1]: 7: <%= javascript_include_tag "http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" %>
2012-08-13T16:03:42+00:00 …Run Code Online (Sandbox Code Playgroud) 我正在使用AWS Opswork来部署我的rails应用程序
我正在使用独角兽+ Nginx,我被困在这个错误2天,我的应用程序工作正常,我得到我的CSS和javascript工作后做rake资产:预编译但我无法看到任何图像或fa图标在我的应用
我的所有图像都存储在app/assets/images中
在html视图中,我正在使用它 <img src="/assets/image.jpg">
我的图像在开发中完美加载,但在生产中没有
asset-pipeline ×10
heroku ×3
coffeescript ×2
sprockets ×2
bundler ×1
execjs ×1
fonts ×1
nginx ×1
node.js ×1
ruby ×1