6
* Listening on tcp://0.0.0.0:3000

Started GET "postinstall/" for 127.0.0.1 at 2013-10-27 07:26:15 +0000
ActiveRecord::SchemaMigration Load (1.8ms)  SELECT "schema_migrations".* FROM "schema_migrations"

基本上就是这样,我所有的按钮都链接到助手,比如:

new_user_registration GET      /users/sign_up(.:format)               registrations#new
edit_user_registration GET      /users/edit(.:format)                  registrations#edit

只有所有的链接是这样的:

http://localhost:3000/postinstall/users/sign_in

我已经浏览了我的日志,并且有一次请求刚刚开始被这种“安装后”业务有效地毒化。

我已经为“安装后”而努力,因为这个词肯定不可能来自任何地方。我决定睡在上面,因为我认为这一定是一个愚蠢的错误,但现在我需要帮助,与我之前 99.9% 的问题不同 - 似乎这个问题没有得到任何回答。

甚至在 Google 上搜索查询“postinstall”也会产生糟糕的结果。

认为我的问题在于路径帮助程序,“postinstall”在任何地方都被添加到请求/url - 路径是这样引用的:

<a href="/users/sign_in" class="btn btn-success">Test</a>

<%= link_to "Sign In", new_user_session_path, :class => "btn btn-success" %>

第一个链接可以正常工作的地方,但是提交登录表单的按钮正在尝试 POST 到 /postinstall/users/sign_in 等...第二个按钮将是指向 /postinstall/users 等的链接。

我完全不知道这是如何开始的,我已经查看了我的 git 日志,甚至回到了 3 或 4 天(这个问题从昨晚开始),错误仍然存​​在。

它似乎也特定于我的 Mac,部署到开发站点(Ubuntu)没有问题。我已经重新启动了我的mac等。任何帮助都非常感谢......

4

2 回答 2

12

I had the same problem.

I'm using puma as webserver, and puma uses a ENV called 'SCRIPT_NAME' which was setted with 'postinstall' value after i installed a software, doing puma inject 'postinstall' on url.

if you still having this issue, unset SCRIPT_NAME var from your ENV, using the command on shell unset SCRIPT_NAME.

于 2013-10-28T14:21:15.697 回答
2

如果您使用的是 TotalTerminal,则最近的更新会在更新后保留 SCRIPT_NAME 环境变量集。重新启动计算机即可解决问题。

我在 Binary Age 的支持网站上开始了一个新主题,试图解决这个问题:http: //discuss.binaryage.com/t/totalterminal-update-overrides-script-name-breaks-webservers/897

于 2013-11-12T17:12:59.020 回答