Ajax-запросы запускаются дважды - PullRequest
0 голосов
/ 21 января 2011

Я выполняю ajax-вызов в Rail, чтобы обновить флаг в моей базе данных.

По какой-то причине запрос выполняется дважды.

единственная разница между 2 вызовами в журнале заключается в следующем:

Started PUT "/negotiations/groupprocurement_validation_toggle?id=1504" for 127.0.0.1 at 2011-01-20 22:28:39 +0100
Processing by NegotiationsController#groupprocurement_validation_toggle as JS


Started PUT "/negotiations/groupprocurement_validation_toggle?id=1504" for 127.0.0.1 at 2011-01-20 22:28:40 +0100

Обработка посредством NegotiationsController # groupprocurement_validation_toggle as /

Так что разница в «как JS» или «как / ».

Понятия не имею, что это значит: (

вот ссылка

 <%= link_to truefalse(validation_status.validated_global, true), validate_global_negotiations_path(:id => validation_status), :method => :put, :remote => true, :id => "validation_#{validation_status.id}" %>

Javascript

 $('a[id^=validation_]').live('click', function(){
        var line_id = $(this).attr('id').replace('validation_','');

        $.ajax({
            url: '/negotiations/gp_validation_toggle?id=' + line_id,
            type: "PUT",
        success: function(data){
          $('#validation_image_' + line_id).html(img_result);
                $('#container').prepend(msg_result)
                $('#flash_notice').delay(3000).fadeOut('slow');
        },
        beforeSend: function(){
          $('#validation_image_' + line_id).html('<img src="/images/loading_round.gif">');
        }
        });
        return false;
    });

а в контроллере у меня

respond_to :html, :js, :csv

и

  def gp_validation_toggle
      @negotiation = Negotiation.find(params[:id])
      @negotiation.validated_global = !@negotiation.validated_global
      if @negotiation.save
        flash[:notice] = "Modification saved"
      else
        flash[:notice] = "Oops something went wrong"
      end
  end

что я делаю не так?

спасибо, П.

1 Ответ

0 голосов
/ 21 января 2011

попробуйте использовать делегат вместо живого

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...