1

Railsアプリに投稿リクエストを送信しています:

 $.ajax 
  url: "/" + locale + "/administration/dashboards/remove_tag_named.json"
  type: "POST"
  dataType: "json",
  contentType: "json"
  data: {"tag_name": "bingo" }
  success: (result) ->
    .....

コンソールで投稿を見ることができますが、成功を取り戻せません。投稿後に多くの GET リクエストがリストされていることがわかります

[19:37:00.052] POST http://localhost:3000/fr/administration/dashboards/remove_tag_named.json [HTTP/1.1 301 Moved Permanently 42ms]
Started GET "/fr/administration%2Fdashboards%2Fremove_tag_named.json" for 127.0.0.1 at 2013-01-16 19:32:31 +0100
Started GET "/fr/administration%2Fdashboards%2Fremove_tag_named.json" for 127.0.0.1 at 2013-01-16 19:32:31 +0100
....

私のレールアプリでは、私は持っています

  respond_to :html, :json
  .....
  def remove_tag_named
    # should remove the tag from the table
    respond_to do |format|
      format.html { redirect_to administration_dashboards_url, notice: t(:tag_deleted) }
      format.json { head :no_content }
    end
  end

何が間違っている可能性がありますか?jQuery ajax リクエストですか、それとも Rails レスポンスですか? Rails アクションにデバッガーを挿入しようとしても、何も起こりません..

  I have checked my routes and it's ok :

    remove_tag_named_administration_dashboards_fr POST /fr/administration/console/remove_tag_named(.:format)    administration/dashboards#remove_tag_named {:locale=>"fr"}

   remove_tag_named_administration_dashboards_en POST /en/administration/dashboards/remove_tag_named(.:format) administration/dashboards#remove_tag_named {:locale=>"en"}
4

1 に答える 1

0

この行はajax応答です。204ステータスコード以外は送信していません。

format.json { head :no_content }

また、その*remove_tag_named*メソッドにエラー状態を持たせたい場合もあります。

def remove_tag_named
  @tag = # get tag properly
  respond_to do |format|
    if @tag.destroy
      format.html { redirect_to administration_dashboards_url, notice: t(:tag_deleted) }
      format.json { head :no_content }
    else
      format.html { # handle error condition }
      format.json { # return error info }
    end
end
于 2013-01-16T19:06:58.923 に答える