ルーティングエラーについて多くの提案がありましたが、それらの多くを通過してルーティングガイドを見ても、私の問題を把握することはできません。ルーティングエラー - AJAX通話で一致するルートがありません
私のような形のAjaxの提出を作成しました - イベントで、私は、ルーティングエラー
No route matches '/user/time_zone'
を取得しています、
$('#user_time_zone').live('change', function() {
$(this).parents('form:first').submit();
});
しかし などが示すように
マイルート
user_time_zone POST /user/time_zone(.:format) {:controller=>"user", :action=>"time_zone"}
ルートファイルには次のようなエントリがあります。 -
match 'user/time_zone' => 'user#time_zone', :via => [:post]
私は間違っている可能性があります。
実際、フォーム_method = putには非表示フィールドがあります。これはRailsコードによって生成されます。私はフォームを-form_for(@user、:url => user_time_zone_path、:method =>:post、:remote => true)と宣言しました。 。どうすれば削除できますか?たぶん私はここで何か間違っています。生成されたフォームにはCSSクラスedit_userがあります。私はDeviseも使用しているので、/ user/*タイプのルートもいくつか追加しています。 –
アップデート:私は、 'user/time_zone' => 'user#time_zone'、:via => [:put]と一致する経路でHTTPメソッドをPUTに変更しました。ありがとう –
私はなぜ手動で隠しdivを置くのが私のために働いたのか分かりません。おそらくフォームビルダーをロードするajaxは、部分的に物事を混乱させるでしょう。先端に感謝します。 –