【问题标题】:Rails: end of file reachedRails:到达文件末尾
【发布时间】:2015-03-21 23:41:54
【问题描述】:

在我的 Rails 开发环境中工作,一切都很顺利,然后去吃午饭,现在我在浏览器中收到“到达文件结尾”错误。有谁知道怎么回事?

这是来自 curl 的相同响应:

$ curl http://localhost:7000
EOFError at /
=============

> end of file reached

app/views/application/_javascript.html.slim, line 1
---------------------------------------------------

``` ruby
>   1   = javascript_include_tag :application
    2
    3   = yield :javascript
    4
```

App backtrace
-------------

 - app/views/application/_javascript.html.slim:1:in     `_app_views_application__javascript_html_slim__3196685002532601281_70250473343220'
 - app/views/layouts/full_width.html.slim:24:in `_app_views_layouts_full_width_html_slim___489443475469111239_70110396332180'
 - app/controllers/home_controller.rb:6:in `index'

Full backtrace
--------------

 - activesupport (4.1.9) lib/active_support/core_ext/marshal.rb:6:in `load_with_autoloading'
 - sprockets (2.11.0) lib/sprockets/cache/file_store.rb:19:in `block in []'
 - sprockets (2.11.0) lib/sprockets/cache/file_store.rb:19:in `[]'
 - sprockets (2.11.0) lib/sprockets/caching.rb:14:in `cache_get'
 - sprockets (2.11.0) lib/sprockets/caching.rb:84:in `cache_get_hash'
 - sprockets (2.11.0) lib/sprockets/caching.rb:54:in `cache_asset'
 - sprockets (2.11.0) lib/sprockets/index.rb:93:in `build_asset'
 - sprockets (2.11.0) lib/sprockets/base.rb:287:in `find_asset'
 - sprockets (2.11.0) lib/sprockets/index.rb:61:in `find_asset'
 - sprockets (2.11.0) lib/sprockets/environment.rb:75:in `find_asset'
 - sprockets (2.11.0) lib/sprockets/base.rb:295:in `[]'
 - sprockets-rails (2.2.4) lib/sprockets/rails/helper.rb:123:in `asset_digest_path'
 - sprockets-rails (2.2.4) lib/sprockets/rails/helper.rb:76:in `compute_asset_path'
 - actionview (4.1.9) lib/action_view/helpers/asset_url_helper.rb:132:in `asset_path'
 - sprockets-rails (2.2.4) lib/sprockets/rails/helper.rb:91:in `asset_path'

【问题讨论】:

    标签: javascript ruby-on-rails debugging ruby-on-rails-4 eof


    【解决方案1】:

    如果一切正常并且您没有进行任何更改,这可能是由于 tmp 缓存损坏或 Spring 处于错误状态。我会从您的应用程序的根目录尝试以下操作:

    1. 停止弹簧:spring stop
    2. 按键盘上的 ctrl-c 停止 Rails 服务器
    3. 通过运行bin/rake tmp:clear 清除您的 tmp 缓存
    4. 退出并重新启动您的终端应用程序以确保没有任何东西在运行
    5. 使用rails s 再次启动Rails 并尝试通过http://localhost:3000 访问它

    【讨论】:

    • 谢谢谢谢谢谢! $ spring stop 得到了 Spring is not runningbin/rake tmp:clear 做到了!
    • 这太棒了! bin/rake tmp:clear 也为我工作!我想知道你是否可以解释更多关于实际发生的事情。 tmp 缓存有什么作用?什么会导致它损坏?为什么它被损坏导致文件结束错误?
    • 我只运行了bin/rake tmp:clear,它成功了!谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多