我正在开发一个Rails 3.2项目,尽pipe我不认为这个项目很大,但是资产在最近几个月里增加了一些。 资产包括JS(无咖啡剧本)和SASS文件; 我们有不less的图片,但是从早期开始,它们就更less了,所以我不认为它们是一个很重要的因素。 我们可能有大约十几个库,大部分都是小的,最大的是Jquery UI JS。 部署是通过Capistrano完成的,而且开始显而易见,部署到分期的速度明显快于生产。 为了说明,同时避免了有关不同服务器和networking效应的因素,我只需在笔记本电脑上依次运行以下三个命令,如下所示: $ time RAILS_ENV=production bundle exec rake assets:precompile ^Crake aborted! [Note I aborted this run as I felt it was getting stupidly long…] real 52m33.656s user 50m48.993s sys 1m42.165s $ time RAILS_ENV=staging bundle exec rake assets:precompile real 0m41.685s user 0m38.808s sys 0m2.803s $ time RAILS_ENV=development bundle exec […]
为了在我的heroku生产环境中debuggingjavascript,我需要禁用资产压缩(或者至less压缩javascript)。 我试着config.assets.compress = false和config.assets.debug = true ,压缩的资源仍然被使用。 然后,我删除了压缩资产,此时根本没有任何资产被提供。 我加了config.assets.enabled = false ,这没有帮助。 我尝试将未压缩的资源复制到各种目录中,包括应用程序根目录,公共资源和公共资源(后两个使用“images”,“javascripts”和“stylesheets”文件夹,并将资源直接放入文件夹中三个子文件夹)我最终能够通过改变HTML来直接引用所有的JavaScript文件,但CSS和图像仍然无法正常工作。 我会认为我原来的config.assets.compress = false应该已经工作。 任何想法我做错了什么?
我对Rails资产pipe道有点新鲜,所以我可能做错了什么。 我正在尝试为我的后端应用Active Admin和我的前端应用程序的twitter引导CSS。 我将bootstrap.css添加到/ app / assets / stylesheets,然后添加: //= require bootstrap 到application.css – 然后我做了本地资产的预编译 它似乎工作正常,但一些样式并不完全通过,我认为这是因为积极的pipe理的CSS是压倒一切的。 我的理解是应用程序将css资源编译到应用程序的css公共资产中,并且应用程序在运行时使用该文件。 我需要以某种方式将两者分开,并使用twitter引导CSS作为前端的主要CSS,也许告诉它不要在前端使用活动pipe理的CSS文件。 什么是最好的方法来做到这一点?
使用Rails的3.1.0.rc4,我试图访问一个JavaScript文件(在这种情况下event.js.erb)的路线助手,似乎他们没有加载在那一刻。 当请求合并的/assets/application.js文件时,我得到: throw Error("NameError: undefined local variable or method `events_path' for #<#<Class:0x00000001580010>:0x00000003191510>\n (in /<…>/app/assets/javascripts/event.js.erb)") 任何想法如何访问在那里的路线帮手?
我有一个Rails 4应用程序,我正在尝试使用自定义字体。 我遵循了很多关于这个的教程,不知何故,它只是不适合我的应用程序。 我正在使用application.css.less并具有以下声明: @font-face { font-family: 'HDVPeace'; src: font-url('HDV_Peace.eot'); src: font-url('HDV_Peace.eot?iefix') format('eot'), font-url('HDV_Peace.woff') format('woff'), font-url('HDV_Peace.ttf') format('truetype'), font-url('HDV_Peace.svg#webfont') format('svg'); } 注意:我已经尝试使用 url() 而不是 font-url() 。 前者在控制台上产生404错误,后者似乎根本没有做任何事情。 在资源下的chrome开发工具中,字体文件不会出现在 assets 文件夹 下 或任何地方 在我的config/application.rb我有: config.assets.paths << Rails.root.join('app', 'assets', 'fonts') 并在我的config/environments/development.rb和config/environments/production.rb我有: config.assets.paths << Rails.root.join('app', 'assets', 'fonts') config.assets.precompile += %w( .svg .eot .woff .ttf) 我的字体文件位于app/assets/fonts ,不包含在下面的文件夹… 我错过了什么? 更新: 文件夹结构 […]
我正在做资产预编译,并在生产模式下运行应用程序。 编译后,当我加载我的索引页时,我在Chrome控制台中得到以下警告: Failed to decode downloaded font: http://localhost:3000/fonts/ionicons.ttf?v=2.0.0 prospects:1 OTS parsing error: invalid version tag Failed to decode downloaded font: http://localhost:3000/fonts/ionicons.woff?v=2.0.0 prospects:1 OTS parsing error: invalid version tag 问题是它没有加载图标,而不是显示正方形 。 我们使用自定义的字体和代码是: @font-face { font-family: 'icomoon'; src: font-url('icomoon.eot'); src: font-url('icomoon.eot?#iefix') format('embedded-opentype'), font-url('icomoon.ttf') format('truetype'), font-url('icomoon.woff') format('woff'), font-url('icomoon.svg#icomoon') format('svg'); font-weight: normal; font-style: normal; } 我不知道从我的最后失去了什么。 我search了很多,也尝试了解决scheme,但没有得到任何成功。在开发模式下工作正常,但不知道为什么在生产模式显示广场。
我试图把我的应用程序投入生产和图像和CSS资产path不起作用。 这是我目前正在做的事情: 图片资产位于/app/assetshttp://img.dovov.comimage.jpg 样式表位于/app/assets/stylesheets/style.css 在我的布局中,我参考了这样的CSS文件: <%= stylesheet_link_tag "styles", media: "all", "data-turbolinks-track" => true %> 在重新启动独angular兽之前,我运行RAILS_ENV=production bundle exec rake assets:precompile并成功,我在public/assets目录中看到指纹文件。 当我浏览到我的网站,我得到一个404 mysite.com/stylesheets/styles.css找不到错误。 我究竟做错了什么? 更新:在我的布局,它看起来像这样: <%= stylesheet_link_tag "bootstrap.min", media: "all", "data-turbolinks-track" => true %> <%= stylesheet_link_tag "styles", media: "all", "data-turbolinks-track" => true %> <%= javascript_include_tag "application", "data-turbolinks-track" => true %> 生成源是这样的: <link data-turbolinks-track="true" href="/stylesheets/bootstrap.min.css" media="all" rel="stylesheet" /> […]
有什么办法可以使用Rails帮助器方法,更具体地说,是一个JavaScript资源文件中的path帮助器方法。 这个文件foo.js.coffee.erb $('#bar').val("<%= create_post_path %>") 如果我能从erubis得到,我会喜欢它 $('#bar').val("path/to/create")
问题正是标题所说的。 该javaScript是在资产pipe道,即assets / javascripts / myfile.js.coffee在application.js我有: //= require jquery //= require jquery_ujs //= require turbolinks //= require jquery.ui.all //= requier twitter/bootstrap //= require jasny-bootstrap //= require_tree . 这是咖啡的脚本 $(document).ready -> $("#close").click -> $(this).parent().parent().slideUp("slow") $( "#datepicker" ).datepicker dateFormat : "yy-mm-dd" player_count = $("#player option").length $('#btn-add').click -> $('#users option:selected').each -> if player_count >= 8 $('#select-reserve').append("<option value='"+$(this).val()+"'>"+$(this).text()+"</option>") $(this).remove() […]
更新: 科林build议删除行// = require_tree。 已经解决了这个问题。 我已经浪费了2天,试图按照每个build议,并解决我的问题。 我正在尝试遵循http://ruby.railstutorial.org在Windows机器上的书,不能为我的生活过去下面的讨厌的错误。 ExecJS::RuntimeError in Static_pages#home Showing C:/Users/…/bootcamp-sample-app/app/views/layouts/application.html.erb where line #6 raised: ["ok","(function() {\n\n\n\n}).call(this);\n"] (in C:/Users/…/bootcamp-sample-app/app/assets/javascripts/sessions.js.coffee) Extracted source (around line #6): 3: <head> 4: <title><%= full_title(yield(:title)) %></title> 5: <%= stylesheet_link_tag "application", media: "all" %> 6: <%= javascript_include_tag "application" %> 7: <%= csrf_meta_tags %> 8: <%= render 'layouts/shim' %> 9: </head> Rails.root: […]