在我的网络应用上,我有一天,一个月,一年下拉框。我在我的控制器中有一个临时渲染,以查看发送到数据库的内容,因此我知道要迁移的内容。然而,日,月,年字段在下面发送。但Rails生成的模型并不像括号那样。你是怎么过来的?任何帮助将非常感谢。
"date(3i)"=>"18", "date(2i)"=>"4", "date(1i)"=>"2014"
def change
create_table :posts do |t|
t.text :title
t.text :requester
t.text :requester_email
t.text :customer
t.text :contact
t.text :customer_email
t.text :customer_phone
t.string :type_of_change
t.string :date(3i)
t.timestamps
答案 0 :(得分:0)
这应该只是一个名为date的字段,类型为date。
(3i)
业务已陷入困境。多参数分配系统。您在模型中有一个值(日期),但操纵它们的UI会将其分解为年/月/日。
每年/月/日参数都与日期有关,后缀表示哪个参数是哪个。当参数如
"date(3i)"=>"18", "date(2i)"=>"4", "date(1i)"=>"2014"
被分配给日期属性,rails知道使用Date::civil
来创建日期。 (1i)后缀告诉rails to typecast' 2014'到整数并将其用作Date::civil
的第一个参数,依此类推