Ruby迁移文件
在我的网络应用程序上,我有一天,一个月,一年下拉框。 我在我的控制器中有一个临时渲染,以查看发送到数据库的内容,因此我知道要迁移的内容。 但是,日,月,年字段在下面发送。 但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
这应该只是一个名为date的字段,类型为date。
(3i)
业务归功于rails的多参数分配系统。 您在模型中有一个值(日期),但操纵它们的UI会将其分解为年/月/日。
每个年/月/日参数都与日期有关,后缀表示哪个参数是哪个。 当参数如
"date(3i)"=>"18", "date(2i)"=>"4", "date(1i)"=>"2014"
被分配给日期属性,rails知道使用Date::civil
来创建日期。 (1i)后缀告诉rails将类型’2014’转换为整数并将其用作Date::civil
的第一个参数等等