Ruby on rails 编辑表单不获取使用的值
我有一个表单(formtastic),它使用Date::DAYNAMES助手在选择框中输出一周中的几天Ruby on rails 编辑表单不获取使用的值,ruby-on-rails,ruby,activeadmin,formtastic,Ruby On Rails,Ruby,Activeadmin,Formtastic,我有一个表单(formtastic),它使用Date::DAYNAMES助手在选择框中输出一周中的几天 days = Date::DAYNAMES q.input :day, collection: days, as: :select 这将从星期日开始工作并输出一周中的几天,但是当涉及到编辑同一表单时,相关字段不记得我以前选择的日期,它只返回相同的下拉列表(默认为空白字段) 形式 如何告知表单默认为编辑表单中保存的日期 谢谢你的帮助 编辑 在检查数据库之后,似乎实际保存的日期(显示为nil),
days = Date::DAYNAMES
q.input :day,
collection: days,
as: :select
这将从星期日开始工作并输出一周中的几天,但是当涉及到编辑同一表单时,相关字段不记得我以前选择的日期,它只返回相同的下拉列表(默认为空白字段)
形式
如何告知表单默认为编辑表单中保存的日期
谢谢你的帮助
编辑
在检查数据库之后,似乎实际保存的日期(显示为nil),因此保存到日期字段中的日期::DAYNAMES似乎有问题
编辑2
我已将日期字段更改为字符串字段,但日期仍然保存为零
# 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" ]
我们可以通过代码(它的一个实现)实现这一点
这是集合生成器也需要的数组格式,用于格式和简单形式。希望能有帮助。谢谢,你能解释一下这里发生了什么吗,请同时得到这个错误,意外的“}”,期望的“=”(语法错误)我做了,并在这里修复了打字错误:
[Date::DAYNAMES[day],day]
(第一个方括号)这一天仍然是零:-(让我们为我也
工作吧
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