Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails:在DB中保存时间时如何指定日期_Ruby On Rails_Ruby_Date_Ruby On Rails 4 - Fatal编程技术网

Ruby on rails Rails:在DB中保存时间时如何指定日期

Ruby on rails Rails:在DB中保存时间时如何指定日期,ruby-on-rails,ruby,date,ruby-on-rails-4,Ruby On Rails,Ruby,Date,Ruby On Rails 4,今天的日期是我在数据库中保存时间时设置的 例如,我在视图中设置时间如下 时间:8:00 致:9:30 这些时间保存如下: 2016-04-03 08:00:00.000000 2016-04-03 09:30:00.000000 今天是2016-04-03 我想做的是将日期设置为指定日期 我也有同样的看法 如果我选择2016-05-12作为离职日期,我想这样保存 2016-05-12 08:00:00.000000 2016-05-12 09:30:00.000000 我使用bootstrap3

今天的日期是我在数据库中保存时间时设置的

例如,我在视图中设置时间如下

时间:8:00 致:9:30

这些时间保存如下:

2016-04-03 08:00:00.000000 2016-04-03 09:30:00.000000 今天是2016-04-03

我想做的是将日期设置为指定日期

我也有同样的看法

如果我选择2016-05-12作为离职日期,我想这样保存

2016-05-12 08:00:00.000000 2016-05-12 09:30:00.000000

我使用bootstrap3 datetimepickerrails来选择到期日期

schema.rb

_附表_form.html.erb

如果您能告诉我如何设置,我们将不胜感激。

您可以使用“保存前”回调,如下所示:

class Event < ActiveRecord::Base
  before_save :assign_date

  private

  def assign_date
    assign_specific_date(to)
    assign_specific_date(from)
  end

  def assign_specific_date(date)
    date.month = departure_date.month
    date.year  = departure_date.year
    date.day   = departure_date.day
  end
end
免责声明:我这里肯定缺少关联,但这应该会让您了解如何实现所需的功能。

您可以使用“保存前”回调,类似以下内容:

class Event < ActiveRecord::Base
  before_save :assign_date

  private

  def assign_date
    assign_specific_date(to)
    assign_specific_date(from)
  end

  def assign_specific_date(date)
    date.month = departure_date.month
    date.year  = departure_date.year
    date.day   = departure_date.day
  end
end

免责声明:我这里肯定缺少关联,但这应该会让您了解如何实现所需的功能。

您也可以使用仅在第一次保存时才运行的before_create,具体取决于您的需要谢谢您的提示,@Mario Carrion。我可以使用before_save callback保存所选日期。您也可以使用before_create,它仅在第一次保存时运行,这取决于您的需要谢谢您的提示,@Mario Carrion。我可以使用“保存前”回调保存所选日期。
class Event < ActiveRecord::Base
  before_save :assign_date

  private

  def assign_date
    assign_specific_date(to)
    assign_specific_date(from)
  end

  def assign_specific_date(date)
    date.month = departure_date.month
    date.year  = departure_date.year
    date.day   = departure_date.day
  end
end