RoR - 在开发模式下不加载或请求-any-资产

时间:2013-04-17 20:38:13

标签: ruby-on-rails ruby configuration

我是Rails开发的新手,有点乱! 我获得了代码库,HTML中没有引用任何资产。没有失败的网络请求,它们根本没有被包含在标记中!当我尝试使用他们的URL直接访问它们时,它们就在那里。

作为比较 - 我的同事系统最终会有大约30个请求,最终结果是完全风格的。但是我没有造型,只有基本标记。

我已经完成了相当多的阅读并检查了我的配置,检查了我是否在开发模式下运行等等。我真的很难过!

对于它的价值,我目前正在一个跨平台的团队环境中工作,有开发人员使用Linux,Windows和Mac OS X.没有人有这些问题;而且我很确定使用Mac OS X的其他开发人员的设置与我的设置完全一样!

源代码是从与其他人相同的git存储库中获取的,并且它肯定是最新的。以下是rails的输出:注意没有错误。

=> Booting WEBrick
=> Rails 3.2.6 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
        SECURITY WARNING: No secret option provided to Rack::Session::Cookie.
        This poses a security threat. It is strongly recommended that you
        provide a secret to prevent exploits that may be possible from crafted
        cookies. This will not be supported in future versions of Rack, and
        future versions will even invalidate your existing user cookies.

    Called from: /******************/abstract_store.rb:28:in `initialize'.
[2013-04-17 21:20:55] INFO  WEBrick 1.3.1
[2013-04-17 21:20:55] INFO  ruby 2.0.0 (2013-02-24) [x86_64-darwin12.3.0]
[2013-04-17 21:20:55] INFO  WEBrick::HTTPServer#start: pid=22421 port=3000


Started GET "/" for 127.0.0.1 at 2013-04-17 21:21:05 +0100
Processing by AccountsController#home as HTML
Completed 401 Unauthorized in 6ms


Started GET "/users/sign_in" for 127.0.0.1 at 2013-04-17 21:21:05 +0100
Processing by Devise::SessionsController#new as HTML
  Rendered devise/shared/_links.erb (1.5ms)
  Rendered devise/sessions/new.html.erb within layouts/application (10.0ms)
  Rendered layouts/_navigation.html.erb (1.0ms)
  Rendered layouts/_messages.html.erb (0.3ms)
Completed 200 OK in 776ms (Views: 86.5ms | ActiveRecord: 647.5ms)


Started GET "/assets/application.js?body=1" for 127.0.0.1 at 2013-04-17 21:21:06 +0100
Served asset /application.js - 304 Not Modified (1ms)


Started GET "/assets/application.css?body=1" for 127.0.0.1 at 2013-04-17 21:21:06 +0100
Served asset /application.css - 304 Not Modified (1ms)

Network Requests Screenshot

注意:application.js似乎只有5个//=require指令;而application.css主要使用一些简单的规则进行评论 - 远不及那些应该存在的规则。

3 个答案:

答案 0 :(得分:2)

我的解决方案是:安装ruby版本1.9.3并将此版本设置为默认值。重启你的电脑。然后安装rails 3.2.6。然后为源代码克隆一个新的存储库(不要重用那个有错误的存储库)。运行捆绑安装。

在此之前,我还尝试使用rvm安装ruby 1.9.2,但它不起作用。然后我尝试使用ruby 1.9.3并且它可以工作。

答案 1 :(得分:1)

我在以前的项目中遇到过类似的问题。就个人而言,我会尝试everett1992所说的,因为如果能够解决问题,那么它可能是最好的。但是,当我没有工作时,我所使用的就是这条线

config.assets.prefix = "/assets_dev"

到我的development.rb文件。

现在,assets_dev不是真正的目录,我从来没有创建它。但它强迫rails看到那里,然后当它看不到它时,rails将从默认位置加载你的资产,就像在rails中一样。

就像我说的那样,它可能有用,但我确定它不是最好的方法。我也在与其他人合作开发跨平台项目的OS X,而且我还没弄清楚为什么会出现这种情况。

答案 2 :(得分:0)

我正在使用mac os x 10.6.8并且我遇到了同样的问题,并尝试了上述所有解决方案。什么都行不通。 包含: 1 GT;更新宝石 2 - ;删除rvm,重新安装rvm,ruby,rails ... 3 GT;并将配置设置为config(dot)assets(dot)prefix =“/ assets_dev”

顺便说一下,我检查了GoogleChrome控制台,并意识到,在应用程序(点)css中,仍有如下声明:     require_self     require_tree。

这意味着这些参考不起作用。

同样的事情发生在应用程序(点)js

P / S:我正在使用rails 3.2.6