Ruby迁移文件

时间:2014-04-18 17:23:02

标签: ruby-on-rails 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

1 个答案:

答案 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的第一个参数,依此类推