Tag: 资产管道

如何使用Rails 4 Pipeline的Galleria插件

我最近在使用Rails 4 Pipeline制作Galleria插件时遇到了麻烦,我花了一些时间来弄清楚如何使它工作,所以我想分享解决方案以防有人遇到类似的问题。 1)下载插件后,将galleria-1.3.3.js (它是我编写当天的当前版本)和galleria.classic.js (或其他样式js文件)发送到vendor/assets/javascripts 2)将galleria.classic.css (或其他主题样式表)放到vendor/assets/stylesheets 3)将//= require galleria-1.3.3和//= require galleria.classic到application.js文件中,并将*= require galleria.classic到application.css文件中 4)资产管道为图像添加了指纹,这使得很难通过常规的CSS访问它们,所以需要在你的galleria样式表中添加’scss’,比如这个galleria.classic.css.scss和更改url(classic-map.png)到asset_url(“classic-map.png”); 与第二张图片相同。 5)打开galleria.classic.js文件并在那里找到css:”galleria.classic.css”或类似的东西,并将其更改为css: false 6)现在你只需要添加Galleria.run(‘#galleria’); 或某些js文件中的其他元素不同的东西,这应该工作:) PS我是Rails中的菜鸟,可能会犯一些愚蠢的错误,但我希望这对任何人都有帮助:)

Rails Asset Pipeline – 错误的指纹

我的Rails 4应用程序有new.html.erb ,它引用了form.html.erb : # app/assets/templates/jobs/new.html.erb … <ng-include src="''”> … # app/assets/templates/jobs/form.html.erb my form is here ( ng-include是AngularJS指令) 问题是,当form.html.erb更改时,生产环境仍会加载旧的form.html.erb 。 发生这种情况可能是因为new.html.erb尚未更改,因此具有相同的旧指纹,指向带有旧指纹的form.html.erb 。 Rails处理这个问题的方法是什么?

application.rb中的资产管道错误,但config.assets.enabled = false

我正在通过capistrano部署第一个rails应用程序:rails 3.1 passenger 3.0.11 nginx 1.0.10 应用程序出错了。 在我的$ app / logs / production.log中,我得到: 5: 6: 7: 8: app/views/layouts/application.html.erb:5:in `_app_views_layouts_application_html_erb__88091947956529734_37470040′ 但是在我的application.rb中,我设置了: # Enable the asset pipeline config.assets.enabled = false 我认为这个指令导致资产管道被禁用。 有什么想法发生了什么?

Rails Asset Pipeline JS压缩插入“非法字符”

我刚刚在我的javascript中询问了一个关于“非法字符” 的问题 。 那里的答案让我发现在插入各种非法字符的Rails资产管道中压缩javascript存在问题。 我在post中收到的错误是: SyntaxError: Invalid character ‘\u0008’ 我发现不使用压缩导致它完全消失 ……但我想要压缩! 使用Rails默认的uglifer gem发现了该错误。 我想也许这是特定压缩gem的bug,所以我尝试使用Rails文档中指示的其他压缩器。 我有非常相似但不同的错误: Uglifier: SyntaxError: Invalid character ‘\u0008’ Closure: SyntaxError: Invalid character ‘\u0190’ YUI: SyntaxError: Invalid character ‘\u0025’ 我试着查看这些最小化的代码,但因为“无效字符”每次都不同,所以它让我相信其他问题。 这是一个压缩的JS文件示例。 任何人都能指出我在正确的方向吗?

在Rails 3.0中使用资产管道

如何配置我的应用程序以在Rails 3.0中使用资产管道? 任何博客/教程的指针将非常感激。

DRY MVC声明最小控制器特定资产管道

有几种方法可以在Rails中包含特定于控制器的资产: 一个不是DRY的选项是在布局中添加= yield :head ,在每个顶级视图中 添加 content_for(:head) { … } 。 如果资产是特定于控制器的,则应仅为每个控制器指定一次,而不是在每个视图中指定。 当然,这种方法对于特定于视图的资产来说非常棒。 第二个非声明性选项是添加与控制器名称相对应的资产(如果存在) 。 我不应该检查某些东西是否存在,而应该简单地说(在适当的情况下)它存在并且必须包括在内。 此外,我不确定是否会缓存响应以避免运行时性能损失。 从积极的方面来看,这种方法不需要对视图或控制器进行任何更改,但它可能会打开名称冲突的可能性,尤其是对于遗留模型。 第三种选择是将所有类型的资产包含在单个文件中 。 浏览器不应下载他们不需要的资产,这会使调试应用程序变得更加困难。 如果总资产规模仍可管理,则此选项可以。 有没有办法以DRY方式声明性地将单个控制器特定资产包含在单独的文件中,而不使用非常少的代码破坏MVC模型?

Rails erb预处理不在开发模式下进行

无论出于何种原因,动态样式的第一次尝试在下面的行中得到了一个Sass :: SyntaxError。 看起来erb没有被预处理。 /* app/assets/stylesheets/variables.css.scss.erb */ $headerHeight: ; 它处于开发模式。 知道是什么原因引起的吗? 以下是与资产相关的配置选项,以防有助于: # Application config.assets.enabled = true config.assets.initialize_on_precompile = true config.assets.version = ‘1.1’ # Development config.assets.compress = false config.assets.debug = false

rails资产没有被编译成一个文件?

我的application.js文件: //= require jquery //= require jquery_ujs //= require_tree ./includes //= require global 我的布局文件: Spectrum … 我的config / environments / development.rb文件: # Expands the lines which load the assets config.assets.debug = false 但是,当我在浏览器中加载页面时,所有js和css文件仍然是单独加载的: Title!

导轨生产中的背景图像不起作用

rails 4(生产环境)中的背景图像不起作用。 在我看来,资产管道存在问题。 当我用css写的时候: selector{ background-image: url(image.jpg) } 它生成http://sofzh.miximages.com/javascript/image.jpg并且它不起作用。 如果我手动将URL更改为image.jpg-fingerprint(来自公共/资产),那么一切都还可以。 ckeditor也行不通。 这是我的production.rb config.cache_classes = true config.assets.enabled = true config.eager_load = true config.assets.precompile += Ckeditor.assets config.consider_all_requests_local = false config.action_controller.perform_caching = true config.assets.js_compressor = :uglifier config.assets.compile = false config.assets.digest = true config.assets.version = ‘1.0’ config.action_dispatch.x_sendfile_header = ‘X-Accel-Redirect’ config.log_level = :info config.log_formatter = ::Logger::Formatter.new

Ruby on Rails资产管道无法正常工作

我刚刚在rails项目上做过ruby。 我已经创建了一个名为“animals”的控制器和一个用于索引操作的视图(index.html.erb)。 我不想包含’应用程序’javascript文件。 所以我创造了animals.js 该文件的内容是 //= require jquery //= require jquery_ujs //= require turbolinks //= require bootstrap-sprockets //= animals.coffee 我还将animals.js和animals.css添加到asset.rb Rails.application.config.assets.precompile += %w( animals.js ) Rails.application.config.assets.precompile += %w( animals.css ) 我的index.html.erb包含以下行 true %> true %> 当我检查服务器生成的源html代码时,我看到jquery scipts没有包含在页面中。 它只是animal.js文件。 Rails Omniauth 有关为什么包含这些脚本的任何建议? 谢谢。