2012-05-09 75 views
2

编辑:我觉得很愚蠢,我没有正确合并我的分支与混帐。就像我说的,我对编程颇为陌生,并且很容易出现这些类型的错误。不过,我很感激帮助。基本形式的行动不工作在heroku上(但本地工作)

我在ch。在Rails by Example书中,我创建了一个基本的“注册”表单。当我在本地主机上提交表单时,它可以正常工作,方法是指导我到

LOCALHOST/new(返回注册页面,注册信息错误)或LOCALHOST/show(用户配置文件,成功)。

当我把这个相同的应用的Heroku和点击提交按钮,它总是让我这个网址:

appname.heroku.com/form_action.asp?fname= &电子邮件= &密码= &密码=告诉我 “您正在查找的页面不存在,您可能错误输入了地址或页面可能已移动。”

取代appname.heroku.com/new或/ show。

我很困惑,我是一个初学者程序员,它让我难以理解为什么事情在本地主机上工作得如此完美,而不是在生产服务器上。请帮忙!

我的代码是在github: https://github.com/Chamza/Sample-App2

回答

0

是否运行在Heroku上的 '雪松' 堆?我相信url应该是appname.herokuapp.com - 不是appname.heroku.com。由于你在github中的代码是基于rails 3.2.1的,因此你应该使用雪松堆栈。

下面是从Heroku的雪松堆栈上的一些信息:https://devcenter.heroku.com/articles/cedar

此外,可以在运行heroku logs --tail --app my-app-name,然后张贴当你点击链接会发生什么?这就是所谓的“拖尾日志”,它会给你实时输出所发生的事情。

编辑***

我看着你的代码,我可以看到至少有一个问题是,您使用的形式有:

<% provide(:title, 'Sign up') %> 
<div style = "width: 200px; margin: 0 auto;"> 
    <form action="form_action.asp" method="get"> 
    <h1>Sign up</h1> 
    <p align="left">Name:</p> 
    <input type="text" name="fname" /> 
    <p>Email:</p> 
    <input type="text" name="email" /> 
    <p>Password:</p> 
    <input type="password" name="password" /> 
    <p>Password Confirmation:</p> 
    <input type="password" name="password" /> 
    <br/> 
    <input type="submit" value="Submit" /> 
    </div> 
</form> 

有形式的几个错误。首先,采取的行动是form_action.asp。看起来它来自一个旧项目。其次,结尾</div></form>标签被切换 - 表单标签应该在div标签之前。

<% provide(:title, 'Sign up') %> 
<div style = "width: 200px; margin: 0 auto;"> 
    <form action="form_action.asp" method="get"> 
    <h1>Sign up</h1> 
    <p align="left">Name:</p> 
    <input type="text" name="fname" /> 
    <p>Email:</p> 
    <input type="text" name="email" /> 
    <p>Password:</p> 
    <input type="password" name="password" /> 
    <p>Password Confirmation:</p> 
    <input type="password" name="password" /> 
    <br/> 
    <input type="submit" value="Submit" /> 
    </div> 
</form> 

很可能您的本地计算机的代码与您在Heroku上部署的代码不同。我会仔细检查 - 做一个heroku releases --app my-app它会告诉你什么是最新的git提交在服务器上。

+0

对不起,我在雪松堆栈,它是herokuapp.com而不是heroku.com。 – Hamza

+0

是吗?你添加了日志吗? –

+1

我觉得很愚蠢,我没有用git合适地合并我的分支。所以是的,我在本地的代码与heroku上的不一样。就像我说的,我对编程颇为陌生,并且很容易出现这些类型的错误。我非常感谢你的耐心和帮助。 – Hamza

相关问题