0

我正在尝试在我的 rails webapp 上安装默认制服,但尚未找到任何可靠的教程/指南。我已经确认我有 jquery gem

在我的 Gemfile 中:

gem 'jquery-rails', '2.0.2'

然后从我的应用程序目录中在终端中运行以确保:

bundle install

我将 uniform.default.css 放在我的样式表目录中,将 jquery.uniform.js 放在我的 javascripts 目录中,并将图像放在我的 images 目录中。然后,我将它们包含在我的视图中,格式如下:

  1 <!-- for jQuery uniform -->
  2 <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js"></script>
  3 <%= javascript_include_tag "jquery.uniform.js" %>
  4 <%= stylesheet_link_tag "uniform.default.css" %>
  5 <script type='text/javascript'>
  6   // On load, style typical form elements
  7   $(function () {
  8     $("select, input, button, textarea, submit").uniform();
  9   });
 10 </script>
 11 <!-- end for jQuery uniform -->

不,图像正在显示!我查看了 uniform.default.css 文件的来源,发现所有的图像都是相对于当前目录的:

  background-image: url("../images/sprite.png");

幸运的是,rails 3 应用程序的默认树的设置方式似乎仍然如此,但存在问题。我还尝试将每个实例编辑为绝对路径,我已确认该路径对另一个图像有效。例如:

  background-image: url("/assets/images/sprite.png");

但仍然没有运气。有任何想法吗?javascript是否也依赖于图像的特定路径?不应该,对吧?

4

2 回答 2

0

尝试在 vendor/assets 目录中添加文件。在那里把css放在

vendor/assets/stylesheets

里面的js

vendor/assets/javascripts

和中的图像

vendor/assets/images

而不是在 app/assets/stylesheets/application.css 中添加以下行:

*= require uniform.agent

将您放置在 vendor/assets/javascripts 中的 js 文件重命名为 uniform.js 并将其添加到 app/assets/javascripts/application.js

//= require uniform
于 2013-01-26T02:39:05.883 回答
0

呸!进行了一些实验,但最终像这样集成了 jQuery Uniform:

通过将其包含在 Gemfile 中,确保您已安装 jQuery gem:gem 'jquery-rails', '2.0.2'

从以下网址下载您感兴趣的任何样式:http: //uniformjs.com/#themes

将图像添加到 /vendor/assets/images,将 javascript 文件添加到 vendor/assets/javascripts,将样式表添加到 vendor/assets/stylesheets。

编辑 css 文件中的任何背景 url 图像路径: url('../images/imagename.png') 到

url('/assets/imagename.png')

因此,我猜所有这些资产最终都会放入一个大目录中,命名为 assets。分离只是为了开发人员的理智。

我还确保将其包含在我的主要布局的头部,application.html.erb

<%= stylesheet_link_tag "application", :media => "all" %>
<%= stylesheet_link_tag "uniform.aristo", :media => "all" %>  <!-- for jQuery Uniform -->
<%= javascript_include_tag "application" %>
<%= javascript_include_tag "jquery.uniform" %> <!-- for jQuery Uniform -->

就这样。没有模糊的配置文件编辑或需要其他需要更多向导代码的修复的随机错误修复,...

现在我得到了一个可以工作的版本,然后从我所有的其他实验中去除了任何潜在的影响,这变得更加简单了。

希望能帮助到你。

于 2013-01-27T19:20:55.213 回答