2012-02-23 3 views
0

いくつかのjavascriptでコメントを投稿しています。これは、ユーザーが正しいグループに属していることをチェックするbeforeフィルターを持つコメントコントローラー内のcreateアクションを呼び出します。前のフィルタにはダッシュボードページへのリダイレクトがありますが、正しいグループにないユーザーのコメントを投稿しようとすると、コメントは作成されませんが、リダイレクトは行われません。ここでフィルタリダイレクト前のレール

はフィルタの前にある:

Started GET "/dashboard" for 127.0.0.1 at 2012-02-23 14:40:07 -0500 
    Processing by UsersController#dashboard as */* 

しかし、ページがブラウザで同じままとリダイレクトされていないよう:

def require_correct_user 
    activity = Activity.find(params[:activity_id]) 
    unless (current_user.group == activity.group) 
     redirect_to dashboard_path 
    end 
    end 

私は、サーバーログに次を参照してください。

リダイレクトされているページの状態を維持していますか?それは、javascriptで投稿されているコメントと関係がありますか?

明確化:

=form_tag({ :action => 'create', :controller => 'comments', :method => 'post' } 

しかし、私はjQueryのフォームのプラグインを使用してフォームを送信してajaxFormを呼び出しています:

私は、フォームで作成するアクションにコメントを投稿しています。

+0

あなたがjavascriptで投稿していると言えば、それはXMLHTTPRequestですか? – Mario

+0

私はおそらくそれをうまく説明しなかったでしょう。私は 'CLARIFICATION'を追加しました。うまくいけば助けになります。 – John

答えて

2

ajaxFormを使用している場合は、XMLHttpRequestを使用してajaxリクエストを行います。これは、ブラウザウィンドウが更新されないことを意味します。あなたがやっていることはすべて、ajaxリクエストのリダイレクトです。これがうまくいくようにするには、クライアントブラウザで処理されたときにブラウザが代替URLをロードするように、ステータスコードをajaxリクエストに戻す必要があります。

関連する問題