在开发过程中,我的所有javascript资源都附加了body=1get变量.这到底是做什么的?
http://localhost:3000/assets/application.js?body=1
Run Code Online (Sandbox Code Playgroud) 我有一个Rails 4应用程序
<%= javascript_include_tag "modernizr", "data-turbolinks-track" => true %>
Run Code Online (Sandbox Code Playgroud)
在头上.在开发中,将呈现以下HTML,并加载modernizr:
<script data-turbolinks-track="true" src="/assets/modernizr.js?body=1"></script>
Run Code Online (Sandbox Code Playgroud)
在生产中,渲染了followign HTML,并且未加载modernizr (未找到404):
<script data-turbolinks-track="true" src="/javascripts/modernizr.js"></script>
Run Code Online (Sandbox Code Playgroud)
在生产中,/assets/modernizr.js被发现并可浏览.
在Rails文档说,javascript_include_tag应该产生
<script data-turbolinks-track="true" src="/assets/modernizr.js?body=1"></script>
Run Code Online (Sandbox Code Playgroud)
在生产中,我stylesheet_link_tag很好,链接到/assets/目录.
为什么javascript_include_tag链接/javascripts而不是/assets生产,我该如何解决?
我正在使用Rails 3.1.我试图解决这个问题,令我惊讶的是,似乎轨道根本就没有这种方法.也许我错了.
任何人都可以展示我如何获得图像的完整绝对URL?
我使用asset_path(image.png)它给了我在应用程序中使用的相对路径.我试过做一个,root_url + asset_path(image.png)但这只是给了我一个http://localhost:3000//assets/image.png双斜线
任何人都有一个有效的方法吗?
使用Rails 3.1 jquery_ujs,我有一个链接有:遥控=> true,并控制新的行动,JS响应和渲染new.js.erb其中包含:
$('#post-form').html('<%= escape_javascript(render(:partial => "form")) %>');
Run Code Online (Sandbox Code Playgroud)
它呈现_form.html.erb部分.这有效.
现在我想使用Coffeescript,但将new.js.erb重命名为new.js.coffee.erb不起作用.资产管道是否仅适用于app/assets?我究竟做错了什么?谢谢.
我正在尝试设置我的Rails-Angular项目以提供JS测试.我几乎尝试了我在谷歌找到的所有内容:
但我失败了所有人.我正在寻找以最无痛的方式运行单元和e2e测试的方法(它可以在Guard或Karma中,我不在乎,但它必须在后台自动运行它).
你有没有一个很好的文章与一个很好的例子如何实现这一目标?在我的研究中我发现了这一点,但恕我直言,这是如何不这样做的例子.
我的实际Gemfile:
source 'https://rubygems.org'
# Use Ruby 1.9.3 instead default Heroku's 1.9.2
# for development I suggest https://gist.github.com/1688857
ruby '1.9.3'
gem 'rails', '3.2.12'
# Use PostgreSQL, which is quite awesome, fast and easy
gem 'pg'
# Gems used only for assets and not required
# in production environments by default.
group :assets do
gem 'sass-rails', '~> 3.2.3'
gem 'bootstrap-sass', '~> 2.3.1'
# I heard that you like …Run Code Online (Sandbox Code Playgroud) 我在生产服务器上遇到了这个错误,无法找出原因.它在运行此命令时发生:
bundle exec rake assets:precompile RAILS_ENV=production
Run Code Online (Sandbox Code Playgroud)
我正在使用Rails 3.1.0.rc6
production ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1 asset-pipeline
我想从管道中排除特定的javascript文件(modernizr),因为我希望它单独加载.
我想在开头加载Modernizr,最后我的其余javascript连接起来.
是否有办法在3.1中的资产管道中执行相反的要求?即.排除?
提前致谢.
亚当.
我的应用程序在开发模式下运行正常
当我在生产模式下运行时RAILS_ENV=production rails s,我的.css或.js文件都没有被加载.(我使用了预编译资产RAILS_ENV=production bundle exec rake assets:precompile.)
webrick日志显示:
ActionController :: RoutingError(没有路由匹配[GET]"/assets/application-a73ce43be7bf75953cd0c60b2b4a7eb0.js"):
和
ActionController :: RoutingError(没有路由匹配[GET]"/assets/application-986dd79830088c416c1632c12999ec69.css"):
文件已编译(根据log\production.log文件),我的public/assets目录确实显示了带有和没有指纹的文件:
ls public/assets
application-986dd79830088c416c1632c12999ec69.css
application-986dd79830088c416c1632c12999ec69.css.gz
application-a73ce43be7bf75953cd0c60b2b4a7eb0.js
application-a73ce43be7bf75953cd0c60b2b4a7eb0.js.gz
application.css
application.css.gz
application.js
application.js.gz
Run Code Online (Sandbox Code Playgroud) 我正在升级应用程序以使用资产管道.
我已经将css资产编译成应用程序css文件但是当我在生产模式下运行应用程序时找不到它们
RAILS_ENV=production bundle exec rails s
Run Code Online (Sandbox Code Playgroud)
我访问任何页面,我从数据库中获得正确的输出,但没有样式和日志显示:
ActionController::RoutingError (No route matches [GET]
"/assets/default.scss-1a27c...f07c.css"):
Run Code Online (Sandbox Code Playgroud)
即使该文件存在于公共/资产中
$ ls public/assets/def*
public/assets/default.scss-1a27c...f07c.css public/assets/default.scss.css
public/assets/default.scss-1a27c...f07c.css.gz public/assets/default.scss.css.gz
Run Code Online (Sandbox Code Playgroud)
我需要更改什么才能让服务器找到资产文件?
我的其他.css文件也是如此.他们用指纹编译成公共/资产,但后来找不到.
页面来源显示:
<link href="/assets/default.scss-1a27c...f07c.css"
media="screen" rel="stylesheet" type="text/css" />
Run Code Online (Sandbox Code Playgroud)
rails(haml)源是 = stylesheet_link_tag 'default.scss.css'
public.assets curently包括以下文件.
$ ls public/assets/def*
public/assets/default.scss-1a27c22229b7b522066181f27af4f07c.css
public/assets/default.scss-1a27c22229b7b522066181f27af4f07c.css.gz
public/assets/default.scss.css
public/assets/default.scss.css.gz
Run Code Online (Sandbox Code Playgroud)
application.rb有
$ cat config/application.rb
require File.expand_path('../boot', __FILE__)
# Pick the frameworks you want:
require "active_record/railtie"
require "action_controller/railtie"
require "action_mailer/railtie"
require "active_resource/railtie"
require "sprockets/railtie"
# require "rails/test_unit/railtie"
if defined?(Bundler)
# If you precompile assets before deploying to …Run Code Online (Sandbox Code Playgroud) 我们刚刚从Rails 3.0.7升级到Rails 3.2.5,并为登台服务器动态使用资产管道编译,但有时我们会面临这个异常!
Showing /var/rails/appname/app/views/common/_my_partial.html.haml where line # raised:
Cannot allocate memory - nodejs /tmp/execjs20120613-17090-thoc8f.js 2>&1
Extracted source (around line #):
Trace of template inclusion: app/views/layouts/application.html.haml
Run Code Online (Sandbox Code Playgroud)
虽然在coffeescripts或images文件夹中没有做任何奇特或巨大的内存分配!
谢谢...
ruby ruby-on-rails ruby-on-rails-3 asset-pipeline ruby-on-rails-3.2
asset-pipeline ×10
ruby ×3
angularjs ×1
css ×1
jasmine ×1
jquery ×1
production ×1
testing ×1
ujs ×1