Rails 3.2.8 Application.js和Application.css没有按预期工作

时间:2013-09-11 06:20:44

标签: ruby-on-rails ruby-on-rails-3.2 sprockets social-stream

当我尝试包含

<%= stylesheet_link_tag    "application" %>
<%= javascript_include_tag "application" %>

application.css的文件内容是:

/*
* This is a manifest file that'll be compiled into application.css, which will include all the files
* listed below.
*
* Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
* or vendor/assets/stylesheets of plugins, if any, can be referenced here using a relative path.
*
* You're free to add application-wide styles to this file and they'll appear at the top of the
* compiled file, but it's generally better to create a new file per style scope.
*
*= require_self
*= require social_stream
*= require_tree .
*/

application.js文件的内容是

// This is a manifest file that'll be compiled into application.js, which will include all the files
// listed below.
//
// Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
// or vendor/assets/javascripts of plugins, if any, can be referenced here using a relative path.
//
// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
// the compiled file.
//
// WARNING: THE FIRST BLANK LINE MARKS THE END OF WHAT'S TO BE PROCESSED, ANY BLANK LINE SHOULD
// GO AFTER THE REQUIRES BELOW.
//
//= require jquery
//= require jquery_ujs
//= require social_stream-base
//= require social_stream-documents
//= require social_stream-events
//= require social_stream-linkser
//= require social_stream-presence
//= require social_stream-oauth2_server
//= require_tree .

我的rails应用程序不包含上述代码段中所需的css和js文件。 但是当我将包含标签更新到特定文件时,这些包含在内。 即

<%= stylesheet_link_tag    "social_stream" %>
<%= javascript_include_tag "jquery" %>

我认为链轮的问题不能按预期工作,请咨询。

我真的很感谢你。

4 个答案:

答案 0 :(得分:14)

应该是ruby版本问题。您将使用ruby 2.0.0,尝试降级为1.9.21.9.3。希望它会奏效。

答案 1 :(得分:8)

Nazar Hussain的回答帮助了我。这也取决于红宝石版本。如果您使用的是v.2,请尝试降级到v.1.9。如果你使用rvm,这很容易:

安装v.1.9.3使用:

$ rvm install 1.9.3

使用v.1.9.3作为默认值:

$ rvm --default use 1.9.3

然后

  • 重新启动终端
  • 安装bundler gem
  • 运行bundle install
  • 运行rake assets:clean RAILS_ENV=development
  • 启动您的服务器rails s

就是这样。

答案 2 :(得分:5)

我也遇到过这个问题,但是有了Rails和Ruby的新版本。

检查日志时,我正在从Rails缓存中获取javascript.js,因为服务器没有看到文件中的更改。我去了并移动了需求线(只有一个)告诉Rails文件有变化并重新编译/使用。 Wellm为我做了!

希望它对某人有帮助。

另一项重要发现是升级Gemfile中的sprockets gem。

我有2.2.1版本并且在升级到2.2.2后出现问题

gem 'sprockets', '2.2.2' 

答案 3 :(得分:1)

您使用sass或更少或类似的东西吗?

我刚遇到这个问题,我发现这是因为application.css文件包含scss代码,默认情况下无法处理。

只需将文件重命名为application.css.scss即可解决Rails 4.2.1下的这个问题。