引导3 Datetimepicker与Rails的form_for [英] Bootstrap 3 Datetimepicker with Rails form_for

查看:201
本文介绍了引导3 Datetimepicker与Rails的form_for的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是一名新的Rails开发人员,我无法将bootstrap3 datetimepicker与我的rails form_for一起保存到ScheduledAccess模型中的DateTime属性中。我使用的是 http://eonasdan.github.io/bootstrap-datetimepicker/



代码:

  .form-group 
= f.label:start_time
datetimepicker1.input-group.date

= f.text_field:start_time,class:form-control,id:scheduled_access_start_time
span .input-group-addon
span.glyphicon.glyphicon-calendar
$ b $ .form-group
= f.label:end_time
datetimepicker2.input-group.date
= f.text_field:start_time,class:form-control,id:scheduled_access_start_time
span.input-group-addon
span.glyphicon.glyphicon-calendar

javascript:
$(function(){

$('#datetimepicker1')。datetimepicker(
{
sideBySide:true
});
$('#datetimepicker2')。datetimepicker(
{
sideBySide:true
});

}) ;

_fields.html.slim



请注意,当我使用默认的Rails / HTML5日期时间时,我可以保存到我的ScheduledAccess模型中,如下所示。



代码:

  .form-group 
= f.label:start_time
= f.datetime_local_field:start_time,class:form-control

.form-group
= f.label:end_time
= f.datetime_local_field:end_time,class:form-control

下面的代码显示了我如何编码可能需要的ScheduledAccess控制器。



p>

  class ScheduledAccessesController< ApplicationController 
before_filter:authenticate_user!

def创建
@access = ScheduledAccess.new(scheduledaccess_params)
@access.user_id = current_user.id

#生成5位随机引脚
randompin = rand(10 ** 5)
@ access.pin = randompin


if @ access.save
redirect_to home_path
否则
flash [:alert] =出现了一些意外的错误!请重试!
redirect_to new_scheduled_access_path
end
end

def destroy
end

def edit
@access = current_access
end

def new
@access = ScheduledAccess.new
结束


私人

def scheduledaccess_params
params.require(:scheduled_access).permit(:name,:pin,:phoneno,:start_time,:end_time,:备注)
结束
$ b $ def current_access
ScheduledAccess.find(params [:id])
end
end

scheduled_accesses_controller.rb



当我使用bootstrap3 datetimepicker并尝试保存时。我总是得到闪光消息。



任何帮助将不胜感激! =

解决方案

javascript:
$(function(){

  $('。datetimepicker')。datetimepicker(
{
sideBySide:true
});
$ b $ pre $ $ $ $ $ $ $ $ $ $ .text_field:start_time,class:form-control datetimepicker
= f.text_field:end_time,class:form-control datetimepicker


I am a new Rails developer and I am having trouble using the bootstrap3 datetimepicker together with my rails form_for to save to a DateTime attribute in my ScheduledAccess Model. The one I am using is from http://eonasdan.github.io/bootstrap-datetimepicker/

Code:

.form-group
  = f.label :start_time
  datetimepicker1.input-group.date

    = f.text_field :start_time, class:"form-control", id:"scheduled_access_start_time"
    span.input-group-addon
      span.glyphicon.glyphicon-calendar

.form-group
  = f.label :end_time
  datetimepicker2.input-group.date
    = f.text_field :start_time, class:"form-control", id:"scheduled_access_start_time"
    span.input-group-addon
      span.glyphicon.glyphicon-calendar

javascript:
  $(function () {

    $('#datetimepicker1').datetimepicker(
    {
      sideBySide: true
    });
    $('#datetimepicker2').datetimepicker(
    {
      sideBySide: true
    });

  });

_fields.html.slim

Do note that I am able to save to my ScheduledAccess model when I use the default Rails/HTML5 datetime as shown below.

Code:

.form-group
  = f.label :start_time
  = f.datetime_local_field :start_time, class: "form-control"

.form-group
  = f.label :end_time
  = f.datetime_local_field :end_time, class: "form-control"

The following code shows how I code my ScheduledAccess controller which might be needed.

Code:

class ScheduledAccessesController < ApplicationController
  before_filter :authenticate_user!

  def create
    @access = ScheduledAccess.new(scheduledaccess_params)
    @access.user_id = current_user.id

    # generate 5-digit random pin
    randompin = rand(10**5)
    @access.pin = randompin


    if @access.save
      redirect_to home_path
    else
      flash[:alert] = "There was some unexpected error! Please Retry!"
      redirect_to new_scheduled_access_path
    end
  end

  def destroy
  end

  def edit
    @access = current_access
  end

  def new
    @access = ScheduledAccess.new
  end


  private

    def scheduledaccess_params
      params.require(:scheduled_access).permit(:name,:pin, :phoneno, :start_time, :end_time, :remarks)
    end

    def current_access
      ScheduledAccess.find(params[:id])
    end
end

scheduled_accesses_controller.rb

When I use the bootstrap3 datetimepicker and try to save. I always get the flash messsage.

Any help would be appreciated! =)

解决方案

javascript: $(function () {

$('.datetimepicker').datetimepicker(
{
  sideBySide: true
});

});

= f.text_field :start_time, class:"form-control datetimepicker"
= f.text_field :end_time, class:"form-control datetimepicker"

这篇关于引导3 Datetimepicker与Rails的form_for的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆