2010-11-12 91 views
4

我看到一个简单的表格上相当怪异的行为:rails 3:jquery ajax窗体调用两次?

这里的形式:

<%= 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 %> 

在我看到服务器:

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) 

基本上是两次调用此!

而且,在我的路线我有这样的:

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

我有点惊讶它是一个看跌期权(后不工作),但也许这是另外一个问题!

回答

4

没关系!事实证明,我是其中两次的jQuery ...

仅供参考,如果你改变这一行中application.rb中:

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

你不需要还包括任何新的jQuery与javascript_include_tag