best_in_place日期格式

时间:2014-12-20 00:50:37

标签: ruby-on-rails-4 postgresql-9.3 best-in-place

我知道我的问题是什么我只是不知道去哪里寻求解决方案。我正在使用best_in_place和日期。我有弹出日期选择器,我可以选择一个日期。我想,我的问题在于我的控制器。如果我选择与12月12日或2月2日相同的月份和日期的日期,则可行。但是,如果我选择12月11日或2月3日,则日期将保存为11月12日或3月2日。

我的控制器代码是

def update
  respond_to do |format|
    if @order.update(order_params)
      puts "Updating! #{order_params}"
      format.html { redirect_to @order, notice: 'Order was successfully updated.' }
      format.json { respond_with_bip(@order) }
    else
      format.html { render :edit }
      format.json { render json: @order.errors, status: :unprocessable_entity }
    end
  end
end

如果我选择12月19日我的“put”输出{“ordered_on”=>“2014年12月19日”}并且它不会保存在数据库中。我正在使用postgresql作为后端,我猜测问题是数据库期望字符串dd / mm / yy而不是mm / dd / yy这就是为什么2月3日被保存为3月2日。

解决此问题的最佳位置是什么?

1 个答案:

答案 0 :(得分:0)

Rails只接受特定格式的日期。在您的javascript中,您必须为datepicker字段设置默认格式。

$.datepicker.setDefaults({
    dateFormat: 'yy-mm-dd'
});