这一切似乎在一开始就很好......
rails generate migration add_starting_date_to_announcements starting_date:date
invoke active_record
create db/migrate/20120106223124_add_starting_date_to_announcements.rb
然后
rake db:migrate
== AddStartingDateToAnnouncements: migrating =================================
-- add_column(:announcements, :starting_date, :date)
-> 0.3281s
== AddStartingDateToAnnouncements: migrated (0.3281s) ========================
当我查看数据库结构时,我看到starting_date正在显示。 问题是,当我点击“新公告”时,它向我显示包含数据库中所有旧列的视图(“通知”的文本字段和“注释”字段) - 但不显示使用“启动”的选项日期“在视图中。它就在那里。
重新启动webrick无济于事。
任何想法都会非常感激。 感谢。
答案 0 :(得分:2)
创建并运行迁移后,您还必须更改视图以添加该新列的控件(show
视图的简单标签,date_select
视图的edit
,等)
Ruby和Rails不是 那 魔法为你做这件事。
答案 1 :(得分:2)
迁移不会改变您的观点。您需要手动将属性添加到视图中,或者如果您依赖于脚手架(这只会让您到目前为止),请重新生成它们。
答案 2 :(得分:1)
你的DbMigrate不会为你更新你的观点,你必须手动去更新它们。
这样做是有充分理由的,想象一下你自定义了你的观点然后在你的桌子上添加了另一列,你想要覆盖你的视图吗?