Tag: 资产管道

为什么Rake任务增强在我的本地环境和部署到Heroku Cedar之间有所不同?

我在lib / tasks / foo.rake中有这个: Rake::Task[“assets:precompile”].enhance do print “>>>>>>>> hello from precompile” end Rake::Task[“assets:precompile:nondigest”].enhance do print “>>>>>>>> hello from precompile:nondigest” end 当我运行rake assets:precompile在本地rake assets:precompile ,两个消息都被打印出来。 当我推送到heroku时,只打印非简化消息。 但是, 根据buildpack ,push正在执行与我本地完全相同的命令。 为什么基础资产的增强:预编译案例在heroku上不起作用但在本地工作?

如何通过资产管道加载css.erb文件

我希望我的样式表保持简单的css但我想使用嵌入式ruby来包含一些动态路径到图像: .home {background: #FFF url() no-repeat; } 如果我将样式表从.css更改为.css.erb,则image_path会被正确解释,但在部署到生产环境时,资产管道不会处理它。 如果我对路径进行硬编码,那么在生产或开发中都会出错,因为它们以不同的方式加载资产。 我该如何解决这个问题?

资产管道:使用Capistrano部署我的Rails 3.1应用程序时出现问题

我正在使用Ruby on Rails 3.1.0和Capistrano。 我有一个问题,使应用程序在生产模式下工作(远程机器运行Ubuntu 10.4 – 我的本地机器是运行Snow Leopard 10.6.7的MacOS)。 当我使用Capistrano部署时,我收到此错误: uninitialized constant Rake::DSL 当我尝试访问网页时出现此错误: ActionView::Template::Error (application.css isn’t precompiled) 为了使应用程序在远程计算机上以生产模式工作,我应该怎么做? 在我的Capfile文件中,我有: # Uncomment if you are using Rails’ asset pipeline load ‘deploy/assets’ 在我的Gemfile文件中,我有: group :production do gem ‘execjs’ gem ‘therubyracer’ end 如果我评论load ‘deploy/assets’我不再得到uninitialized constant Rake::DSL但我仍然得到ActionView::Template::Error (application.css isn’t precompiled)错误。

Rails 4的Asset-Pipeline / Turbolinks对于大型应用程序的优缺点是什么?

我们正在开发一个相当广泛的应用程序。 该网站将有许多不同的部分,具有一些非常不同的用户界面要求和行为。 outlook未来,Rails 4将资产管道分离为一个独立的gem,以便我们可以选择是否包含它。 turbolinks可能会发生同样的事情。 这些天我一直在问自己但无法找到答案的问题是:我应该在项目中使用这些库吗? 我反思的主要问题是,一体化文件策略可能不起作用,我们将不得不在应用程序的不同部分使用文件包。 turbolink会如何对此作出反应,因为它必须假设所有js / css已经加载? 这种配置的优势是否克服了管道和turbolinks所隐含的代码复杂性? 我不指望是/否答案,只是对此事的一些看法。

Rails资产管道和摘要值

有谁知道资产摘要值究竟是如何计算的? 如果我有两个JS文件,其中包含各种其他包含的JS脚本,那么如果没有更改内部脚本,那么每个文件是否会保持相同的摘要哈希值? 或者是每次资产:运行预编译操作时计算的新摘要值?

Rails – 如何仅在某些页面上包含Javascript文件

我有一个WYSIWYG编辑器,我已经内置到网站和自定义。 有许多Javascript文件只需要使用WYSIWYG编辑器加载到页面上; 目前它们被加载到每个页面上(甚至在某些页面上打破其他Javascript)。 目前,Javascript文件位于assets/javascript/wysiwyg/ ,并且不包含在application.js的require文件中,但由于资产管道(我认为),它仍然包含在每个页面中。 我想知道我是否可以从其他页面中排除这些文件。 是否可以将它们从资产管道移动到public/目录并将它们(在咖啡脚本文件中,可能?)导入适当的视图?

从JavaScript获取资产路径

我需要在Rails资产管道中的HTML5canvas上显示图像,但我需要知道JavaScript中资产的路径。 我正在为应用程序的其他部分使用js-routes ,但它似乎没有提供一种方法来获取资产管道中的某些东西。 从JavaScript获取Rails资产(例如图像)路径的正确方法是什么?

Rails递归地包含javascripts资源文件夹

我理解如何将一个javascript文件添加到rails资产管道。 只需添加 //= require filename 到application.js 但是如何在一个文件夹下包含许多javscripts文件 vendor/assets/javascripts/ 或者我必须明确地列出它们?

Ruby on Rails:提供vs content_for

今天我遇到了视图助手function“提供”。 通过查看其手册,我仍然对它与“content_for”的不同之处感到困惑。 提供(name,content = nil,&block) 与content_for相同,但与流式传输一起使用时直接返回布局。 换句话说,如果要在呈现给定模板时多次连接到同一缓冲区,则应使用content_for,否则,使用provide来告诉布局停止查找更多内容。 问题1:这对我来说是非常抽象的 – 有人可以通过给出一个示范性的例子来充实它吗? 问题2:使用资产管道,其表现更好,为什么? 谢谢!

Rails资产管道中的动态CSS,即时编译

我正在Rails 3.2中构建一个站点。 自从我触及Rails或Ruby以来已经有3年了,所以我两者都生锈了,再加上我最后一次使用rails就是Rails 2.3。 不用说,请原谅下面的任何“简单”问题。 这是规格 Multi Tennant CMS /商店网站 http://company1.mywebsite.com http://company2.mywebsite.com 等等 每个“商店”(也称为子域)可以通过CSS自定义具有自己的外观,感觉等 可以在应用程序内的UI中执行自定义,允许用户更改Bootstrap的基本变量(即@textColor , @bodyBackground等) 我正在使用less-rails-bootstrap gem来获取Twitter Bootstrap的外观/感觉等。 以下是挑战 我需要能够将CSS的变量动态输出到一个混合到Bootstrap的文件中,以便拾取变量以创建最终的CSS 当用户更改CSS的变量时,现有样式基本上无效。 我需要重新编译完整的CSS并将其写回磁盘,内存流或其他一些我可以抓住它的位置(请记住这是less ) 我需要不同的CSS来吐出每个子域。 有关如何处理此问题的任何建议? 使问题进一步复杂化…… …鉴于我基本上必须找到一些方法来动态编译CSS,这意味着我必须包含我通常不会在生产环境中使用的GEMS。 表现非常重要。 有没有办法隔离这个? 一旦CSS被无效并重新生成,我就可以获取内容并将其写入磁盘或存储在某些memcached / redis / etc中。 表现的实例。 任何评论,即使只是指向我一般的方向,将不胜感激。 谢谢!