【问题标题】:rails ajax form submission issuesrails ajax 表单提交问题
【发布时间】:2011-06-25 05:38:17
【问题描述】:

已更新...

我在提交 ajax 表单时遇到问题。不确定它是否是路由问题,或者可能是 UJS 问题。 (使用 jquery 1.6.1 和最新的 jquery-ujs)

这是为创建操作表单生成的 html

<form method="post" id="new_product_pressing" data-remote="true" class="simple_form product_pressing" action="/products/my_product_id/product_pressings" accept-charset="UTF-8">
  <input type="hidden" value="✓" name="utf8">
  <input type="hidden" value="blablablatokenblablabla" name="authenticity_token">
  <label for="product_pressing_total_pressed">Total pressed</label>
  <input type="text" size="5" required="required" name="product_pressing[total_pressed]" id="product_pressing_total_pressed" 
  <input type="submit" value="Create Pressing" name="commit" id="product_pressing_submit">
</form>

更新操作表单也是有效的,但可能是多余的发布

我的路线是:

resources :products, :shallow => true do
  resources :product_pressings, :as => :pressings, :only => [:create, :update]
end

product_pressings POST /products/:product_id/product_pressings(.:format)  {:action=>"create", :controller=>"product_pressings"}
pressing          PUT  /product_pressings/:id(.:format)                   {:action=>"update", :controller=>"product_pressings"}

对于创建操作...日志显示:

Started POST "/products/product-057/product_pressings" for 127.0.0.1 at...
Processing by ProductPressingsController#create as JS
Parameters: {"product_id"=>"my_product_id"}

如果我删除远程 true,"product_pressing"=&gt;{} 参数将被传递,但不会通过 :remote => true。

更新...

Started POST "/product_pressings/4e01ad24e1607cc46100008e" for 127.0.0.1 at...
ActionController::RoutingError (No route matches "/product_pressings/4e01ad24e1607cc46100008e"):

抛出一个路由错误,即使它显示了没有远程 => true 的确切 url 和方法。这是有效的,我不确定它什么时候停止,但我不明白是什么导致了这种行为。

【问题讨论】:

  • 这是创建还是更新操作?它在新/编辑表单中的工作方式相同吗?
  • 我看不到任何 csrf 令牌...

标签: ruby-on-rails ajax forms


【解决方案1】:

发现了问题。我的错。我使用名为 $.param 和 $.params 的插件扩展了 jquery。这显然与 jquery ujs 冲突。追踪起来并不容易,但不得不重命名它。问题解决了。

【讨论】:

    猜你喜欢
    • 2021-05-13
    • 1970-01-01
    • 1970-01-01
    • 2014-05-23
    • 1970-01-01
    • 2014-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多