我在一个简单的表单上看到了相当奇怪的行为:
表格如下:
<%= 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)
基本上它调用了两次!
另外,在我的 route 我有这个:
namespace :admin do
resources :product_lists do
member do
put :add_product
put :remove_product
end
end
end
我有点惊讶它必须是一个看跌期权(帖子不起作用),但也许这是另一个问题!
最佳答案
没关系!事实证明我两次包含了 jquery...
仅供引用,如果您在 application.rb 中更改此行:
config.action_view.javascript_expansions[:defaults] = %w(jquery rails application)
您不需要使用 javascript_include_tag 包含 jquery 的任何新内容
关于jquery - rails 3 : jquery ajax form calling twice?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4165862/