2

編集:私はとても愚かだと感じています、私は自分のブランチをgitと適切にマージしていませんでした。私が言ったように、私はプログラミングにまったく慣れておらず、これらのタイプのエラーが発生しがちです。しかし、私は助けに感謝します。

私はchにいます。Rails by Exampleの本の7つで、基本的な「サインアップ」フォームを作成しました。ローカルホストでフォームを送信すると、どちらかに指示することで正しく機能します

LOCALHOST / new(サインアップページに戻る、登録情報エラー)またはLOCALHOST / show(ユーザープロファイル、成功)。

この同じアプリをherokuにプッシュして送信ボタンを押すと、常に次のURLに移動します。

appname.heroku.com/form_action.asp?fname=1%email=&password =&password =は、「探していたページが存在しません。アドレスを入力しなかったか、ページが移動した可能性があります。」と表示されます。

appname.heroku.com/newまたは/showの代わりに。

私はとても混乱しています。私は初心者プログラマーであり、ローカルホストでは完全に機能するのに本番サーバーでは機能しない理由が頭に浮かびます。助けてください!

私のコードはgithubにあります: https ://github.com/Chamza/Sample-App2

4

1 に答える 1

0

Herokuで「杉」スタックを実行していますか?私はURLがappname.herokuapp.com-ではないはずだと信じていappname.heroku.comます。githubのコードはrails3.2.1を使用しているため、杉のスタックを使用する必要があります。

herokuの杉スタックに関する情報は次のとおりです:https ://devcenter.heroku.com/articles/cedar

また、heroku logs --tail --app my-app-nameリンクをクリックするとどうなるかを実行して投稿できますか?これは「ログのテーリング」と呼ばれ、何が起こっているかをリアルタイムで出力します。

編集***

私はあなたのコードを調べましたが、少なくとも1つの問題は、使用しているフォームに次のようなものがあることがわかります。

<% 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です。それは古いプロジェクトから来たようです。次に、endタグ</div></form>タグが入れ替わります。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と、サーバー上の最新のgitcommitが何であるかがわかります。

于 2012-05-09T02:51:01.033 に答える