ここで説明するように、私はDeviseでAjaxログインをしようとしています:http://jessehowarth.com/2011/04/27/ajax-login-with-devise#comment-5(jBeasleyからのコメントを参照)。Rails 3 AJAX:間違った定数名
私のコントローラは、このエラーになり
class Users::SessionsController < Devise::SessionsController
def failure
render :json => {:success => false, :errors => ["Login failed."]}
end
end
を返すようにしようとしている:
NameError (wrong constant name ["{\"success\":false,\"errors\":[\"Login failed.\"]}"]Controller):
とFirebugのは、[500内部サーバーエラー]を示します。
どうすればこの問題を解決できますか?私はRails 3.1を実行しており、1.4.5を考案しています。
ありがとうございます!
私がやっていたこと:recall => failure。私はそれを "users/sessions#failure"に変更し、Firebugはレスポンスとして{"success":false、 "errors": "Login failed。"}}を取得します。素晴らしい、ありがとう! – suruen
ありがとうございます。私は元のバージョンが経路が誤って指定されていてもdefの失敗を知っていたので、私はまだ混乱していました。だから私の質問は、なぜ私のバージョンではエラーが発生するのですが、正しい経路はありません。分裂についてのあなたの説明は意味をなさない - 私は自分自身のソースコードに従うことを試みるとうまくいけば、プロセスのいくつかのレールを学ぶ...もう一度ありがとう! – suruen
hah私は実際のJSONがそのメソッドにそれを作り出していた理由をパズルすることを試みていて、あなたの最初のコメントに気づいたばかりです。あなたが実際にインラインで呼び出しているので、失敗メソッドが呼び出されたことを確認してください。チュートリアルに注意した場合、彼は後で呼び出すための呼び出しメソッドを参照して、 ':failure'というシンボルを渡しています。あなたはJSONを 'warden [:recall]'として保存し、最終的には 'recall_app'に直接送信して、インラインでエラーを呼びます。その奇妙な定常化がどのように起こったかを見ることができます。 – numbers1311407