Rails记录来自AJAX帖子没有保存

时间:2014-07-08 15:34:57

标签: ruby-on-rails

我有一个显示订单商品的HTML表格。在每个表行上,我有一个“需要日期”字段,该字段是独立的(不是表单)输入字段。每当用户更改日期时,我都会将此日期发布到服务器以将其保存在订单中。

我注意到当我从rails控制台使用OrderItem.update或OrderItem.update_attributes时它可以工作,但是当它从字段更改事件触发时,Rails不会触发对表的更新。

#JavaScript
  $(".order-item.datepicker").change ->
    needby_date = $(this).val()
    order_item_url = $(this).data("order-item-url")
    $.ajax
      type: "POST"
      url: order_item_url
      data:
        needby_date: needby_date  

我的控制器 -

  def update_needby_date
    @order_item = OrderItem.find(params[:order_item_id])
    @order_item.update_attribute(update_needby_date_params)

    respond_to do |format|
      format.js   { render :nothing => true }
    end
  end

  private

   def update_needby_date_params
     params.permit(:order_item_id, :needby_date)
   end

正如您在日志文件中看到的那样,未触发更新 -

Started POST "/order_items/1/update_needby_date" for 127.0.0.1 at 2014-07-08 10:55:10 -0400
Processing by OrderItemsController#update_needby_date as */*
  Parameters: {"needby_date"=>"07/23/2014", "order_item_id"=>"1"}
  OrderItem Load (0.4ms)  SELECT "order_items".* FROM "order_items" WHERE "order_items"."id" = ? LIMIT 1  [["id", "1"]]
   (0.4ms)  begin transaction
   (0.2ms)  commit transaction
  Rendered text template (0.1ms)
Completed 200 OK in 16ms (Views: 3.3ms | ActiveRecord: 1.0ms)

0 个答案:

没有答案