我正在阅读关于Rails 3.1资产管道的这篇文章,作者指出了一些让我对这个新范例感到有些不满的事情.
由于资产已编译,并且在该步骤中,其名称已更改为包含内容的md5哈希值,因此您无法再直接在CSS文件中引用这些资源.以此图片为例,rails.png.它被重命名为:
rails-9c0a079bdd7701d7e729bd956823d153.png
Run Code Online (Sandbox Code Playgroud)
我更喜欢将SASS用于我的CSS,并特别将图像名称放入变量中,以便通过更改这些变量来快速更改我的CSS样式.现在不会因为姓名被替换而被打破吗?这也不会搞砸更多经典的CSS图像背景吗?
如果这确实是一个问题,我们如何解决它?我宁愿继续使用SASS.它使广泛的CSS文件更易于管理.
在我的Rails 3.2.1应用程序中,我使用指南针(0.12.alpha.4)来创建精灵:
@import compass
@import "../images/category-icons/type/*.png"
@include all-type-sprites
//+all-type-sprites
Run Code Online (Sandbox Code Playgroud)
精灵图像是正确生成的,坐在app/assets/images/category-icons/type-sa69c4767de.png中
但是生成的样式表是错误的.它指向/assets/../images/category-icons/type-sa69c4767de.png.它只是附加assets到路径上.它在Rails之外工作,所以我认为它与资产管道有关.我应该为此配置什么才能正常工作?
我在生产中遇到了Rails 3.2和资产管道的问题.
我的环境:
这个问题是我的所有资产都编译得很好,并且在shared/assets /服务器上,并且有一个指向公共/资产的符号链接.但我在我的应用程序中没有样式或JS并直接导航到资产文件我得到"404 Not Found"和"nginx"
我再次使用Apache服务器,并且我已成功在子域上部署此应用程序,没有任何问题.该服务器是plesk 9/apache但没有RVM.我是Plesk 11的新手,从未使用过nginx,所以我首先想到的是这个问题.
但我现在也不愿意排除RVM.有人有主意吗?
提前致谢
我有一个jquery函数,它应该改变页面的背景.我希望背景是app/assets/images目录中的图像.但是,我对使用资产管道引用图像的正确方法感到困惑.
这是我现在的路线:
$('body').css("background-image", "url('welcome.png')");
Run Code Online (Sandbox Code Playgroud)
在url参数中访问图像的最佳方法是什么?
在ralis中获取资产消化的最简单方法是什么?
例如,这里是javascript文件
javascript_path "jquery.js"
Run Code Online (Sandbox Code Playgroud)
我想知道这是什么摘要 jquery.js
我正在尝试使用http://designshack.net/articles/css/build-an-animated-photo-wall-with-css/ 在我的rails应用程序中实现照片墙.我插入CSS列表,段落和图像,图像高度和宽度的唯一变化到我的custom.css.scss,如下所示:
/* picture wall */
/*------CONTAINER------*/
.container {
width: 320px;
margin: 0 auto 50px auto;
}
/*------LIST------*/
.container ul {
list-style-type: none;
}
.container li {
float: left;
position: relative;
width: 280px;
height: 187px;
overflow: hidden;
}
.container li:hover {
cursor: pointer;
}
/*------PARAGRAPH------*/
.container li p {
color: transparent;
background: transparent;
font: 200 10px/80px 'Arvo', Helvetica, Arial, sans-serif;
text-align: center;
text-transform: uppercase;
position: absolute;
top: 0;
left: 0;
width: 80px;
height: 80px;
-webkit-transition: all 1s ease;
-moz-transition: …Run Code Online (Sandbox Code Playgroud) 乡亲.
我正在使用Twitter Bootstrap快速构建一个使用Ruby on Rails的小应用程序,我似乎遇到了使用bootstrap-sassgem 的问题.
我在我的Gemfile中添加了必需的行,然后执行了bundle install.问题是......它似乎没有把vendor/assets/stylesheets应该存在的引导CSS文件放在那里.
因此,当我有此登录(使用Devise)时,它根本没有显示正确的样式:

这个ERb:
<% flash.each do |name, msg| %>
<% if msg.is_a?(String) %>
<div class="alert alert-<%= name == :notice ? "success" : "error" %>">
<a class="close" data-dismiss="alert">×</a>
<%= content_tag :div, msg, :id => "flash_#{name}" %>
</div>
<% end %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
根据Bootstrap文档生成以下HTML,这似乎是正确的,它应该生成一个Bootstrap样式的红色"错误"警告框:
<div class="alert alert-error">
<a class="close" data-dismiss="alert">×</a>
<div id="flash_alert">Must be logged in to access the admin area.</div>
</div>
Run Code Online (Sandbox Code Playgroud)
我不确定问题是什么.相关信息如下:
我发现这个 css框架,遗憾的是,它缺乏像Twitter bootstrap那样的gem支持.
所以我下载了他们的sass源并尝试集成到rails资产管道,尽管有错误.
Undefined variable: "$button-height".
(in /app/assets/stylesheets/components/_buttons.scss:4)
Run Code Online (Sandbox Code Playgroud)
或者我应该把它放入/ lib文件夹?
我的问题是:如何使用rails 4.2安装此框架?
我在Heroku上有一个全新的Rails 4.2.0应用程序和Angular.js,我有以下angular.js控制器:
angular.module("CarDealer.controllers",[]).controller('carsController', function ($scope, carDealerAPIservice) {
$scope.nameFilter = null;
$scope.carsList = [];
carDealerAPIservice.getCars().success(function (response) {
$scope.carsList = response;
});
});
Run Code Online (Sandbox Code Playgroud)
在我看来:
<div class="row" data-ng-controller="carsController">
<div class="row">
<div class="col-md-4">
<input type="text" ng-model="nameFilter" placeholder="Find vehicle..." class="form-control", autofocus="true"/>
</div>
</div>
<ul data-ng-repeat="car in carsList | filter: nameFilter">
<li>{{ car.model_name }} - {{ car.year }} </li>
</ul>
Run Code Online (Sandbox Code Playgroud)
但是当我打开页面时没有任何渲染,我在控制台中有以下内容:
错误:[$ injector:unpr]未知提供者:eProvider < - e < - carsController
在开发模式下一切正常,但在生产模式下,我发现自己陷入了这个问题.
我该怎么做才能克服这种情况?我试过禁用资产压缩,但都没有成功.
提前致谢
运行时python manage.py collectstatic --noinput出现以下错误:
Post-processing 'jquery-ui-dist/jquery-ui.css' failed!
Traceback (most recent call last):
File "manage_local.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "/Users/michaelbates/GoogleDrive/Development/inl/venv/lib/python3.4/site-packages/django/core/management/__init__.py", line 367, in execute_from_command_line
utility.execute()
File "/Users/michaelbates/GoogleDrive/Development/inl/venv/lib/python3.4/site-packages/django/core/management/__init__.py", line 359, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/Users/michaelbates/GoogleDrive/Development/inl/venv/lib/python3.4/site-packages/django/core/management/base.py", line 294, in run_from_argv
self.execute(*args, **cmd_options)
File "/Users/michaelbates/GoogleDrive/Development/inl/venv/lib/python3.4/site-packages/django/core/management/base.py", line 345, in execute
output = self.handle(*args, **options)
File "/Users/michaelbates/GoogleDrive/Development/inl/venv/lib/python3.4/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py", line 193, in handle
collected = self.collect()
File "/Users/michaelbates/GoogleDrive/Development/inl/venv/lib/python3.4/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py", line 145, in collect
raise processed
File "/Users/michaelbates/GoogleDrive/Development/inl/venv/lib/python3.4/site-packages/django/contrib/staticfiles/storage.py", line 257, in post_process
content = pattern.sub(converter, content) …Run Code Online (Sandbox Code Playgroud) asset-pipeline ×10
css ×2
javascript ×2
sass ×2
angularjs ×1
apache ×1
compass-sass ×1
digest ×1
django ×1
heroku ×1
jquery ×1
nginx ×1
python ×1
sprockets ×1