我有一个使用Date :: DAYNAMES助手的表格(格式),在选择框中输出星期几
days = Date::DAYNAMES
q.input :day,
collection: days,
as: :select
这有效并输出从星期日开始的星期几,但是当涉及到编辑同一表格时,所涉及的字段不记得我之前选择的日期,它只返回相同的下拉列表(默认为空白字段)
形式
# Activity Date/Time Entry
f.inputs class: 'activityDayTime' do
f.has_many :activity_dates do |q|
days = Date::DAYNAMES
if q.object.new_record?
q.input :day,
collection: days,
as: :select
q.input :time_from
q.input :time_to
else
q.input :day,
collection: days,
as: :select
q.input :time_from
q.input :time_to
q.input :_destroy,
as: :boolean,
required: :false,
label: 'Remove Day/Time'
end
end
end
我如何才能告诉表单默认为编辑表单中的保存日期。
任何帮助表示赞赏
编辑
在检查数据库之后,似乎实际保存的天数(显示为nil),因此Date :: DAYNAMES保存到日期字段中似乎有问题
编辑2
我已将日期字段更改为字符串字段,但日期仍保存为nil
# app/helpers/collection_helper
module CollectionHelper
def days_collection
(0..6).map { |wday| [Date::DAYNAMES[wday], wday] }
end
end
# app/views/posts/_form.html.erb
. . .
= select_tag :month, options_for_select(days_collection, Time.now.day) # or collection helper
# simple_form
= f.input :month, as: :select, collection: days_collection
# formastic
= f.input :author, as: :select, collection: days_collection
. . .
一天在Rails中存储为整数
Post.first.created_at.wday # => 2
因此,我们需要将日期名称与其编号相关联
Date::DAYNAMES
=> [ "Sunday", "Monday","Tuesday","Wednesday","Thursday","Friday","Saturday" ]
我们可以使用代码(其实现之一)来实现
(0..6).map { |wday| [Date::DAYNAMES[wday], wday] }
# => [ [ "Sunday", 0],[ "Monday",1], ["Tuesday", 2], # end etc
这是数组格式,这对于集合生成器来说也需要格式和简单形式。
希望能有所帮助。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句