我正在开发一个处理公共区域的rails应用程序(截至今天,静态页面),以及具有身份验证等的私有空间.这两个都是独立开发的.第一个是手工制作的风格,后者使用twitter bootstrap.
在生产中,rails将我的资产编译成一个文件,并且一些样式是冲突的,导致公共区域具有Twitter Bootstrap的一些元素......不是我想要的.
有没有办法配置资产管道,所以当它编译时,有两个输出?经典的application.css和front.css?
我在heroku上部署时遇到了很大问题.真的不,不,为什么它不起作用.
这是我的宝石文件:
gem 'rails', '3.2.0'
gem 'pg'
group :assets do
gem 'sass-rails', '~> 3.2.3'
end
gem 'coffee-rails', '~> 3.2.1'
gem 'uglifier', '>= 1.0.3'
gem 'jquery-rails'
gem "rspec-rails", ">= 2.8.1", :group => [:development, :test]
gem "factory_girl_rails", ">= 1.7.0", :group => :test
gem "email_spec", ">= 1.2.1", :group => :test
gem "cucumber-rails", ">= 1.3.0", :group => :test
gem "capybara", ">= 1.1.2", :group => :test
gem "database_cleaner", ">= 0.7.1", :group => :test
gem "launchy", ">= 2.0.5", :group => :test
gem "devise", ">= 2.0.4"
gem …Run Code Online (Sandbox Code Playgroud) ruby-on-rails heroku asset-pipeline twitter-bootstrap ruby-on-rails-3.2
如何正确整合twitter-bootstrap-rails gem和资产管道?
我已经按照安装步骤进行操作,目前我有这个application.css
*= require_self
*= require bootstrap_and_overrides
Run Code Online (Sandbox Code Playgroud)
然后在bootstrap_and_overrides.css.less中我导入其他控制器样式表,以使它们与我在覆盖文件中定义的变量一起使用,并且能够在<controller-name>.css.less文件中的控制器特定样式表中使用bootstrap mixins .目前我这样做:
# in bootstrap_and_overrides.css.less
// generated code ...
// Your custom LESS stylesheets goes here
//
// Since bootstrap was imported above you have access to its mixins which
// you may use and inherit here
//
// If you'd like to override bootstrap's own variables, you can do so here as well
// See http://twitter.github.com/bootstrap/less.html for their names and documentation
//
// Example:
// @linkColor: #ff0000; …Run Code Online (Sandbox Code Playgroud) ruby-on-rails less sprockets asset-pipeline twitter-bootstrap
我最近从Jammit迁移到Rails Asset Pipeline.除了几个出牙问题,一切都运作良好.
但是,我最近开始在生产中遇到一些脚本错误,并意识到我几乎不可能调试它们.我之前已将Jammit配置为保留换行符,但否则会删除javascript文件中的所有空格.这是为了确保如果我看到运行时错误,我将能够找到有问题的行,并希望找出问题所在.使用Rails Asset Pipeline和默认的:uglifier压缩器,它会显示删除所有空格,包括换行符,因此我的脚本错误不会告诉我问题在代码中的位置.
有没有人知道配置Rails Asset Pipeline以保留换行符以便可以调试代码?
马特
我正在尝试部署使用Postgres的Rails 3.2.3应用程序.我通过Capistrano使部署本身工作,数据库迁移也起作用.但现在我被困在预编译资产:
deploy:MyAPP/current$ bundle exec rake assets:precompile --trace
** Invoke assets:precompile (first_time)
** Execute assets:precompile
/home/deploy/.rvm/rubies/ruby-1.9.3-p194/bin/ruby /home/deploy/www/MyApp/shared/bundle/ruby/1.9.1/bin/rake assets:precompile:all RAILS_ENV=production RAILS_GROUPS=assets --trace
** Invoke assets:precompile:all (first_time)
** Execute assets:precompile:all
** Invoke assets:precompile:primary (first_time)
** Invoke assets:environment (first_time)
** Execute assets:environment
** Invoke environment (first_time)
** Execute environment
** Invoke tmp:cache:clear (first_time)
** Execute tmp:cache:clear
** Execute assets:precompile:primary
** Invoke assets:precompile:nondigest (first_time)
** Invoke assets:environment (first_time)
** Execute assets:environment
** Invoke environment (first_time)
** Execute environment
rake aborted!
FATAL: role "deploy" does …Run Code Online (Sandbox Code Playgroud) 当我这样做:rake assets:precompile RAILS_ENV = production我得到例如我的public/assets文件夹中的以下文件:
最后2个是一个问题,因为它导致编译版本在开发中服务,我不明白为什么它们被生成.
我的production.rb中有以下行:
config.assets.digest = true
Run Code Online (Sandbox Code Playgroud) 这应该是一件简单的事情,但由于某种原因它不会起作用.
我无法在页面上显示背景图像.我正在使用Rails 3.2和资产管道.我试图在与我的家庭控制器相关的页面上显示它.
图像位置是:app/assets/images/dna.jpg
home.css.scss
background: url('/assets/images/dna.jpg');
Run Code Online (Sandbox Code Playgroud)
我也尝试过以下方法:
background: url('dna.jpg');
background: url('/assets/dna.jpg');
background-image: image-url("dna.jpg");
background-image:url(image_path('dna.jpg'));
Run Code Online (Sandbox Code Playgroud)
无论我尝试哪种方法,我都会遇到同样的错误:
Sass::SyntaxError at /
Invalid CSS after "background:": expected pseudoclass or pseudoelement, was " url('/assets/i..."
Run Code Online (Sandbox Code Playgroud)
(在/Users/sean/Dropbox/bin/rails/assay/app/assets/stylesheets/home.css.scss中)
另请参阅此SO帖子:在CSS中的Ruby on Rails 2中添加背景图像
编辑
参考这篇文章:sass-rails资产管道:错误地生成图像路径; `url(/images/blah.png)`而不是`url(/assets/blah.png)`
我清除了资产缓存
rake tmp:cache:clear
Run Code Online (Sandbox Code Playgroud)
捆绑更新了我的sass-rails gem.现在是3.2.6.这些都没有任何区别.
假设我已经从网上某个地方提取了一个fancy.js文件,我应该采取哪些步骤将它包含在我的Rails 4应用程序中?
现在我有以下内容
在1和2之后是否有更多的步骤,或者我这样做是错误的开始?
我有一个Grails应用程序.我在网络应用程序中有js,css和image文件夹,在同一文件夹中我有一个主题文件夹.我打算使用资产管道插件.我该如何使用我的主题文件夹?我在核心文件夹和主题文件夹中有相同名称的文件.对此有何帮助?
我已经安装了语义UI rails gem
gem 'semantic-ui-rails'
Run Code Online (Sandbox Code Playgroud)
我现在正尝试使用Symantec UI文档中的以下示例代码创建一个简单的导航栏:
<div class="ui secondary pointing menu">
<a class="active item">
Home
</a>
<a class="item">
Messages
</a>
<a class="item">
Friends
</a>
<div class="right menu">
<a class="ui item">
Logout
</a>
</div>
</div>
<div class="ui segment">
<p></p>
</div>
Run Code Online (Sandbox Code Playgroud)
出现纯文本但没有语义UI格式和样式.我是否需要配置一些内容才能启动和运行语义UI?
asset-pipeline ×10
ruby ×2
grails ×1
heroku ×1
javascript ×1
less ×1
postgresql ×1
rake ×1
sass ×1
semantic-ui ×1
sprockets ×1
uglifyjs ×1