2012-05-09 106 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

相關問題