2011-06-30 8 views
0

私はajaxful_ratingを取得して、自分のレールのインストールに取り掛かりたいと思っています。Rails Gem:Ajaxful_ratingルートの問題

ユーザーがスターをクリックして評価するまでは、すべてが実行されています。

私はスターをクリックして、ブラウザのURLポイントhttp://localhost:3000/entries/1/rate?dimension=design&show_user_rating=false&small=true&stars=4 と私はこのエラーを取得する:No route matches "/entries/1/rate"

しかし、私のルートは言う:

resources :entries do 
    collection do 
     ... 
    end 
    member do 
     post 'rate' 
     put 'submit' 
    end 

は、私が欠けているものはありますか?いくつかのjは含まれていませんか?私が含まれているのは今、jqueryです。

編集

try { 
Element.update("ajaxful_rating_design_no-small_entry_1", "<ul class=\"ajaxful-rating\"><li class=\"show-value\" style=\"width: 60.0%\">Global rating average: 3.0 out of 5</li><li><a href=\"/entries/1/rate?dimension=design&amp;show_user_rating=false&amp;small=false&amp;stars=1\" class=\"stars-1\" data-method=\"post\" data-remote=\"true\" rel=\"nofollow\" title=\"Rate 1 out of 5\">1</a></li><li><a href=\"/entries/1/rate?dimension=design&amp;show_user_rating=false&amp;small=false&amp;stars=2\" class=\"stars-2\" data-method=\"post\" data-remote=\"true\" rel=\"nofollow\" title=\"Rate 2 out of 5\">2</a></li><li><a href=\"/entries/1/rate?dimension=design&amp;show_user_rating=false&amp;small=false&amp;stars=3\" class=\"stars-3\" data-method=\"post\" data-remote=\"true\" rel=\"nofollow\" title=\"Rate 3 out of 5\">3</a></li><li><a href=\"/entries/1/rate?dimension=design&amp;show_user_rating=false&amp;small=false&amp;stars=4\" class=\"stars-4\" data-method=\"post\" data-remote=\"true\" rel=\"nofollow\" title=\"Rate 4 out of 5\">4</a></li><li><a href=\"/entries/1/rate?dimension=design&amp;show_user_rating=false&amp;small=false&amp;stars=5\" class=\"stars-5\" data-method=\"post\" data-remote=\"true\" rel=\"nofollow\" title=\"Rate 5 out of 5\">5</a></li></ul>"); 
new Effect.Highlight("ajaxful_rating_design_no-small_entry_1",{}); 
} catch (e) { alert('RJS error:\n\n' + e.toString()); alert('Element.update(\"ajaxful_rating_design_no-small_entry_1\", \"<ul class=\\\"ajaxful-rating\\\"><li class=\\\"show-value\\\" style=\\\"width: 60.0%\\\">Global rating average: 3.0 out of 5</li><li><a href=\\\"/entries/1/rate?dimension=design&amp;show_user_rating=false&amp;small=false&amp;stars=1\\\" class=\\\"stars-1\\\" data-method=\\\"post\\\" data-remote=\\\"true\\\" rel=\\\"nofollow\\\" title=\\\"Rate 1 out of 5\\\">1</a></li><li><a href=\\\"/entries/1/rate?dimension=design&amp;show_user_rating=false&amp;small=false&amp;stars=2\\\" class=\\\"stars-2\\\" data-method=\\\"post\\\" data-remote=\\\"true\\\" rel=\\\"nofollow\\\" title=\\\"Rate 2 out of 5\\\">2</a></li><li><a href=\\\"/entries/1/rate?dimension=design&amp;show_user_rating=false&amp;small=false&amp;stars=3\\\" class=\\\"stars-3\\\" data-method=\\\"post\\\" data-remote=\\\"true\\\" rel=\\\"nofollow\\\" title=\\\"Rate 3 out of 5\\\">3</a></li><li><a href=\\\"/entries/1/rate?dimension=design&amp;show_user_rating=false&amp;small=false&amp;stars=4\\\" class=\\\"stars-4\\\" data-method=\\\"post\\\" data-remote=\\\"true\\\" rel=\\\"nofollow\\\" title=\\\"Rate 4 out of 5\\\">4</a></li><li><a href=\\\"/entries/1/rate?dimension=design&amp;show_user_rating=false&amp;small=false&amp;stars=5\\\" class=\\\"stars-5\\\" data-method=\\\"post\\\" data-remote=\\\"true\\\" rel=\\\"nofollow\\\" title=\\\"Rate 5 out of 5\\\">5</a></li></ul>\");\nnew Effect.Highlight(\"ajaxful_rating_design_no-small_entry_1\",{});'); throw e } 

これは私のサーバーは、私は評価をクリックすると言うことです。

+0

'post'を' get'に変更した後、ブラウザのjs ajax呼び出しのようになります...何が間違っていますか? –

+0

サーバのログを投稿する – Luke

+0

ログは空ですが、これはスターをクリックすると私のブラウザに表示されます。 –

答えて

0

アプリケーションはGETリクエストを送信しています(パラメータはURLに渡されますが、POSTルートが宣言されています)。

post 'rate'~get 'rate'を変更すると、この要求が許可されます。

もう1つの可能性は、POSTを生成する必要があるときに、アプリケーションがクライアント側でGETを生成している可能性があります。私はあなたのビューコードを見てそれを診断する必要があります。