【问题标题】:Why does my Rails app work offline but not online?为什么我的 Rails 应用程序可以离线工作但不能在线工作?
【发布时间】:2013-02-17 02:26:51
【问题描述】:

老实说,我不是 100% 确定我需要在这里提及什么,但这是交易...

我在 localhost 上设置了一个基本的 Rails 应用程序,它运行良好。

但是,当我把它放到网上时,嗯……没那么多。您知道应该如何在 routes.rb 中设置默认路由并删除/重命名 index.html 文件,对吧?好吧,我在本地和远程版本上都这样做了。本地版本:我得到了我在 routes.rb 中指定的确切视图。但是,服务器上的完全相同吗?我在“公共”目录中获得了我所有文件的列表。

换句话说,Rails 似乎在忽略 routes.rb。

我应该注意什么?

【问题讨论】:

  • 您应该在本地机器上以production 模式测试您的应用程序,即RAILS_ENV=production rails s
  • 谢谢,Harish;我尝试在本地机器上强制它进入生产模式。结果:完美。所以……我不知道。

标签: ruby-on-rails routes


【解决方案1】:

如果你得到一个文件列表,它并没有命中 Rails。我不知道你的 Rails 应用程序前面有什么网络服务器,但它配置错误。对我来说,这听起来像是只提供目录列表的 Apache 服务器。

【讨论】:

  • 嗯...我发现这是因为我没有 dispatch.fcgi 文件。 (我知道,我知道,你应该使用Passenger,但是Passenger 使用Ruby 1.8.7,它与最新的Rails 不兼容,所以我使用FastCGI。)现在我的下一步:找出调度的原因。我的托管服务提供商告诉我使用的 fcgi 不起作用。 (而且他们不会支持它,因为它所需的 Ruby 版本默认情况下没有安装在他们的服务器上...arrghhh...)
【解决方案2】:

可能是你的 git 提交有问题,你在推送之前删除了文件吗?

git add -u
git commit -m "Removed some files"

或:

git add .
git commit -am "add some files, removed others"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-14
    • 1970-01-01
    • 2020-05-31
    相关资源
    最近更新 更多