2010-11-12 6 views
4

Je vois tout à fait un comportement bizarre sur une forme simple:rails 3: jquery ajax appelle deux fois?

est ici la forme:

<%= form_for @product_list, :url => add_product_admin_product_list_path(@product_list, :product_id => @product), :html => {'data-remote' => true} do |f| %> 
    <p class="<%= cycle('odd', 'even') %>"><%= @product.short_description %></p> 
    <%= f.submit "Add Item!" unless @product_list.products.include?(@product) %> 
<% end %> 

Sur le serveur je vois:

Started POST "/admin/product_lists/featured-product-list-for-guests/add_product?product_id=fisher-price-rock-a-stack" for 127.0.0.1 at Fri Nov 12 15:50:59 +0100 2010 
    Processing by Admin::ProductListsController#add_product as JS 
    Parameters: {"product_id"=>"fisher-price-rock-a-stack", "authenticity_token"=>"/p5O3g0eY/zgCTq0yL9wG5XZicHrGo/FAXvlNzfoa+s=", "utf8"=>"✓", "id"=>"featured-product-list-for-guests"} 
Completed 200 OK in 154ms (Views: 25.6ms | ActiveRecord: 2.5ms) 


Started POST "/admin/product_lists/featured-product-list-for-guests/add_product?product_id=fisher-price-rock-a-stack" for 127.0.0.1 at Fri Nov 12 15:50:59 +0100 2010 
    Processing by Admin::ProductListsController#add_product as JS 
    Parameters: {"product_id"=>"fisher-price-rock-a-stack", "authenticity_token"=>"/p5O3g0eY/zgCTq0yL9wG5XZicHrGo/FAXvlNzfoa+s=", "utf8"=>"✓", "id"=>"featured-product-list-for-guests"} 
    Completed 200 OK in 125ms (Views: 24.1ms | ActiveRecord: 1.4ms) 

Fondamentalement, il appelle cela deux fois!

De plus, dans mes voies, j'ai ceci:

namespace :admin do 
    resources :product_lists do 
     member do 
     put :add_product 
     put :remove_product 
     end 
    end 
    end 

Je suis un peu surpris, il doit être mis (un poste ne fonctionne pas) mais peut-être est une autre question!

Répondre

4

Nevermind! Il se trouve que j'incluais jquery deux fois ...

Pour votre information, si vous changez cette ligne dans application.rb:

config.action_view.javascript_expansions[:defaults] = %w(jquery rails application) 

Vous n'avez pas besoin d'inclure aussi quelque chose de nouveau pour jquery avec un javascript_include_tag

Questions connexes