0

御時間ありがとうございます!

私はルートを取得しroutes.rbます:

get "loadreport/test"
post "loadreport/update"

コントローラのtest関数loadreportは空の関数です:

def test
end

test.html.erbには次のものが含まれています。

<form action="/loadreport/update?method=post" class="button_to" method="post">
  <div>
    <input type="submit" value="Update" />
    <textarea cols="30" id="post_body" name="comments" rows="5" maxlength=200>

    </textarea>
  </div>
</form>

このupdate関数はデータベースを更新します。

def update
  some_database.update(params[:comments])
end

ここで、をクリックするUpdate buttontest.html.erb、が呼び出され/loadreport/update、にジャンプしupdate.html.erbます。存在しないのでupdate.html.erb、サーバーは私に次のようなエラーを出します:Template is missing ... blah ...

私が達成したいのは、でをクリックするUpdate buttonと、データベースを更新するためtest.html.erbに呼び出すだけ/loadreport/updateで、別のページにジャンプする代わりに、「更新に成功しました!」というメッセージボックスがポップアップ表示されます。

それを達成するためにコードを変更するにはどうすればよいですか?誰かが私にこのトピックに関するいくつかのアイデアやいくつかのリンクを教えてもらえますか?ありがとう!

4

1 に答える 1

1

Ajaxの投稿を作成して、返品を受け取り、アラートを表示することができます。jQueryを試してください。

または試してみてください:

def update
   some_database.update(params[:comments])
   redirect_to :test
end

これにより、前のページにリダイレクトされます。

于 2012-12-04T12:49:34.823 に答える