保存多个日期范围的简单形式
Saving multiple date ranges simple form
我有2个模型:空缺和vacancy_schedule
Vacancy has_many :vacancy_schedules
Vacancy_schedule belongs_to :vacancy
在我的 vacancy_schedule 我要保存
vacancy_id、start_date、end_date、start_time、end_time
我研究了一些嵌套表单,并考虑过使用嵌套表单来实现它:
class Vacancy < ActiveRecord::Base
has_many :vacancy_schedueles
accepts_nested_attributes_for :vacancy_schedueles
end
但我如何在我的视图中显示它?
我希望能够按下 + 按钮并继续在彼此下方添加日期。
我的猜测是只向另一个模型添加 1 个日期我将不得不做这样的事情:
<%= f.simple_fields_for :vacancyscheduele do |t| %>
<%= t.input :start_date, :as => :date_picker, :label => false%>
<%= t.input :end_date, :as => :date_picker, :label => false%>
<%= t.input :end_hour %>
<%= t.input :end_hour %>
<% end %>
但是当我想添加一个 + 号并突然显示第二个 simple_fields_for 用户可以输入下一个日期时,我不知道从哪里开始。
当他按下提交时,所有内容都会同时提交,或者当他删除其中一个日期时,它会被正确删除。
最终结果应该是这样的 vacancy_schedule:
Vacancy_id / start_date / end_date / start_time / end_time
1 / 1/1/2015 / 2/1/2015 / 14:30 / 19:30
1 / 5/1/2015 / 6/1/2015 / 11:30 / 12:30
1 / 10/1/2015 / 11/1/2015 / 16:30 / 19:30
2 / 6/1/2015 / 7/1/2015 / 14:30 / 19:30
etc etc
如有任何帮助或提示,我们将不胜感激。
使用下面的代码:
在 config/initializers 中创建文件 date_format.rb 并写入以下代码:
class ActiveSupport::TimeWithZone
def as_date(options = {})
strftime('%m-%d-%Y')
结束
def as_time(选项={})
strftime('%I:%M')
结束
结束
在视图中,写入以下代码:
<%= f.simple_fields_for :vacancyscheduele do |t| %>
<%= t.start_date.as_date %>
<%= t.end_date.as_date %>
<%= t.start_hour.as_time %>
<%= t.end_hour.as_time %>
<% 结束 %>
我有2个模型:空缺和vacancy_schedule
Vacancy has_many :vacancy_schedules
Vacancy_schedule belongs_to :vacancy
在我的 vacancy_schedule 我要保存 vacancy_id、start_date、end_date、start_time、end_time
我研究了一些嵌套表单,并考虑过使用嵌套表单来实现它:
class Vacancy < ActiveRecord::Base
has_many :vacancy_schedueles
accepts_nested_attributes_for :vacancy_schedueles
end
但我如何在我的视图中显示它?
我希望能够按下 + 按钮并继续在彼此下方添加日期。
我的猜测是只向另一个模型添加 1 个日期我将不得不做这样的事情:
<%= f.simple_fields_for :vacancyscheduele do |t| %>
<%= t.input :start_date, :as => :date_picker, :label => false%>
<%= t.input :end_date, :as => :date_picker, :label => false%>
<%= t.input :end_hour %>
<%= t.input :end_hour %>
<% end %>
但是当我想添加一个 + 号并突然显示第二个 simple_fields_for 用户可以输入下一个日期时,我不知道从哪里开始。
当他按下提交时,所有内容都会同时提交,或者当他删除其中一个日期时,它会被正确删除。
最终结果应该是这样的 vacancy_schedule:
Vacancy_id / start_date / end_date / start_time / end_time
1 / 1/1/2015 / 2/1/2015 / 14:30 / 19:30
1 / 5/1/2015 / 6/1/2015 / 11:30 / 12:30
1 / 10/1/2015 / 11/1/2015 / 16:30 / 19:30
2 / 6/1/2015 / 7/1/2015 / 14:30 / 19:30
etc etc
如有任何帮助或提示,我们将不胜感激。
使用下面的代码:
在 config/initializers 中创建文件 date_format.rb 并写入以下代码:
class ActiveSupport::TimeWithZone
def as_date(options = {})
strftime('%m-%d-%Y')
结束
def as_time(选项={})
strftime('%I:%M')
结束
结束
在视图中,写入以下代码:
<%= f.simple_fields_for :vacancyscheduele do |t| %>
<%= t.start_date.as_date %>
<%= t.end_date.as_date %>
<%= t.start_hour.as_time %>
<%= t.end_hour.as_time %>
<% 结束 %>