Ruby on Rails:无法从浏览器

时间:2015-12-25 18:01:46

标签: ruby-on-rails ruby heroku

执行摘要(3小时不正确的猜测)

  • 我要做的就是添加一张我可以从浏览器访问的新图片。
  • 我尝试了以下方法:1)将新的jpg(header2.jpg)放在assets文件夹(rake assets:clean rake assets:precompile)和app / public文件夹中。

我通过将浏览器指向http://localhost:3000/assets/header2.jpghttp://localhost:3000/header2.jpg来测试新文件的可访问性

以下证明该文件确实存在。

ls -l public/header2.jpeg 
-rw-r-----@ 1 vic  staff  7181148 Dec 25 10:47 public/header2.jpeg

ls -l app/assets/images/header2.jpeg 
-rw-r-----@ 1 vic  staff  7181148 Dec 25 10:47 app/assets/images/header2.jpeg

这是我得到的错误。这是一个路由错误,这意味着该文件无法访问,它会转到“路由”。 Rails中的阶段(正如许多人在本网站上所解释的那样)。

ActionController::RoutingError (No route matches [GET] "/assets/header2.jpg"):

以下是我尝试过的事情。

  1. 阅读所提供的资产管道文档。
  2. 在我的config / environment / production.rb和config / environment / development.rb中添加了以下内容

    config.serve_static_assets = true

  3. Ran rake assets:clean and rake assets:precompile(100x times)

  4. 重新启动我的服务器(rails s)
  5. 观看了Ryan Bates资产管道视频。
  6. 此站点旨在部署在Heroku上,但我所谈论的所有错误都在我的本地rails实例上。

    我的直觉说存在某种配置错误,因为将文件放在资产或公共文件夹中并运行rake clean和rake pre-compile应解决这个问题。

    这真的很有趣。

    我可以通过浏览器访问它。 http://localhost:3000/assets/header2-b1088c11bf403f9b3358fbed3d4b54f1.jpeg (位于public / assets / images子文件夹中) 但我无法访问位于EXACT相同文件夹中的header2.jpg!

    请帮助朋友

0 个答案:

没有答案