- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我正在使用 bootstrap3-datetimepicker-rails gem 允许用户在我的应用程序中存储 WorkOrder
的 scheduled_date
(“DateTime”属性),但我得到一个 argument out of range
错误,当用户提交表单以创建 WorkOrder
时,日期与用户弹出编辑屏幕时选择的日期有很大不同。有趣的是它曾经可以工作,但我不知道可以更改什么代码来破坏它。
我添加了所需的依赖项并在我的 CSS/JS 文件中包含了正确的指令:
gem 'momentjs-rails', '~> 2.5.0'
gem 'bootstrap3-datetimepicker-rails', '~> 3.0.0'
据我所知,我的代码看起来与文档中的示例相同。这是我的表单的片段:
<div class="row">
<div class="col-md-4">
<div class="form-group">
<%= f.label :scheduled_date %>
<div class='input-group date'>
<span class="input-group-addon"><span class="fa fa-calendar"></span></span>
<%= f.text_field :scheduled_date, class: 'form-control input-lg', id: "service_date_picker" %>
</div>
</div>
</div>
</div>
<script type="text/javascript">
$(function () {
$('#service_date_picker').datetimepicker({
icons: {
time: "fa fa-clock-o",
date: "fa fa-calendar",
up: "fa fa-arrow-up",
down: "fa fa-arrow-down"
}
});
});
</script>
编辑(忘记添加 Controller 代码 - super 简单):
work_orders_controller.rb
def create
@work_order = WorkOrder.new(work_order_params)
... [it errors on the line above]
end
还有我的参数白名单:
def work_order_params
params.require(:work_order).permit(:caller_name, :brief_job_details, :contract_price, :quoted_by, :job_description, :scheduled_date, :time_materials_details, :sheduled_time, :contact_name, :payment_method, :notes, :customer_id, :job_site_id)
end
以及在我保存表单时给出 argument out of range
错误的参数示例:
work_orders_attributes"=>{"0"=>{"caller_name"=>"Justin", "time_materials_details"=>"", "contract_price"=>"", "quoted_by"=>"", "payment_method"=>"", "job_description"=>"", "scheduled_date"=>"05/23/2014 1:28 PM", "notes"=>""}}
与我的 customers_controller.rb
相同,我在新客户表单中有一个 WorkOrder
的嵌套表单(该表单上的其他所有内容都可以正常工作):
def create
@customer = Customer.new(customer_params)
... [errors above]
end
如果日期和时间在现在的 24 小时内,则日期和时间会正确保存,但即使保存正确,当我去编辑该 WorkOrder
时,日期在文本字段中显示完全奇怪且未格式化.例如:
当我从日期选择器中选择日期时:05/06/2014 10:28 AM
当我编辑 WorkOrder
时:2014-06-05 10:28:00.000000
有什么想法吗?我是否应该将该字段设为 Date
、Time
或 DateTime
(当前)?目前,我们在中部时区工作,但情况并非总是如此。
提前感谢您为我指明正确的方向!
最佳答案
@Uri Agassi 是对的:这是您为创建此处最相关的 WorkOrder
而传递的值。
尝试使用 custom date formatting options由 bootstrap-datepicker
提供给您。如果您可以获得一种看起来不错且易于在后端解析的格式,那么您将希望在该参数进入模型进行验证之前拦截该参数。
无论您将在客户端使用什么日期格式,您仍然希望将其解析为可用的 Date
或 DateTime
对象服务器-在你的 Controller 中。 Check out DateTime#strptime
.您还可以在 Date
上调用 #strptime
。
未经测试,但想法是存在的:
def create
order_params = work_order_params
order_params[:scheduled_date] = Date.strptime(order_params[:scheduled_date],
'%m/%d/%Y %I:%M %p')
@work_order = WorkOrder.new(order_params)
end
关于ruby-on-rails - 参数超出范围 Rails 4 和 bootstrap3-datetimepicker-rails,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23498845/
是否可以在 XDSoft DateTimePicker 中禁用所有指定的工作日,例如所有(且仅)星期日?如何做到这一点? 最佳答案 试试这个。 function disabledWeekdays(da
我正在尝试设置日期时间选择器 https://tempusdominus.github.io/bootstrap-3/并将其配置为内联使用。它初始化为: $('#datetimepicker5').d
在我的项目中,我需要使用格式为 HH:MM 的 Timepicker,但我使用它就像持续时间,而不是时间,所以有可能将 HH 增加到 99,而不是在 23 停止! 我使用此页面中的日期时间选择器:ht
$(function() { $('input.month-mode').datetimepicker({ viewMode: 'months', format
我正在使用 Bootstrap 日期时间选择器。我想要 datetimepicker 格式作为短月份名称,例如。 一月。我的代码在下面,它现在显示完整的月份名称为 January。如何让它成为 Jan
我有两个文本框:txtETCdatefrom 和 txtETCdateto 分别具有类 datetimepicker1 和 datetimepicker2: 我在两个类上都使用仅日期格式的日期时间
我目前正在使用 http://eonasdan.github.io/bootstrap-datetimepicker/ 如果我打开另一个日期时间选择器,我们如何关闭一个打开的日期时间选择器? 因为我有
我有一个 dateTimePicker。为了将这个 DateTimePicker 内容写入我的数据库,我得到了值: myDateTimePicker.selectedDate.value. 当用户手动
它可以正常工作,直到触发任何控件回发,但是当控件触发任何回发事件时,如果我们将“起始日期”更改为“截止日期”日期时间选择器,则它仅显示日期而不是日期和时间。当我更改“截止日期”与“起始日期”datet
我有一个包含多个日期时间选择器的 html 模板。如果我单击按钮打开一个日期时间选择器,然后单击另一个按钮打开新的日期时间选择器,则第一个保持不变(它不会关闭)。我希望一次只能打开一个日期时间选择器。
我正在尝试更新/更改日历 View 中突出显示的日期。但当日历显示时,它们不会在下一个事件中更新。 有工作中的 Plunker 片段: https://plnkr.co/edit/4HkCp5?p=p
我正在构建一个 MVC 5 应用程序,我正在尝试使用 Bootstrap.v3.Datetimepicker.CSS . 我有一个 Javascript 文件 $(document).ready( f
我基本上希望我的 Jquery:dateTimePicker 只允许 future 的日期——也就是说,如果当前日期时间是:2016 年 8 月 30 日,上午 10:20,那么我想选择一个大于 10
是否可以为 DateTimePicker 控件设置特定的文化?我想在飞蛾的格式名称和时间格式上使用这种特定的文化。例如,我创建了特定的文化: CultureInfo.GetCultureInfo("s
我正在尝试确定在 DateTimePicker (WinForms) 应用程序中选择(突出显示)了哪个控件(天、月、年)。是否有一个属性指示选择了哪个控件?如果是这样,我能否以编程方式仅更改另一个控件
UI 应该保持不变我不想这样做: dateTimePicker1.Format = DateTimePickerFormat.Custom; dateTimePicker1.CustomFormat
所以我使用 jQuery DateTimePicker,目前我有以下设置: jQuery(document).ready(function($) { jQuery.datetimepick
我正在为我的应用程序使用 ng-pick-datetime 选择器。我希望选定的时间在 24 小时内显示(15:00 而不是下午 3:00)。 When the picker opens the ti
我有一个使用日期选择器和验证器的字段。在下面的示例中,我已预先填写了日期输入。现在,删除数据,您将看到它不再有效。然后单击日历图标选择日期。在您离开输入(模糊)之前,它不会重新验证,但我宁愿它在从日期
我目前正在使用 Date time picker JQuery,但它没有使用给定的格式。它没有使用它,而是使用默认的日期格式,并在控制台中给出错误:Uncaught TypeError: F.mask
我是一名优秀的程序员,十分优秀!