2012-01-06 46 views
0

这一切都似乎在一开始以做工精细加列...的Rails 3.1 - 没有在视图中显示

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并没有帮助。

任何想法将不胜感激。 谢谢。

回答

2

在创建并运行迁移,你还必须改变你的看法添加控件的新列(一个简单的标签show观点,date_selectedit视图等)

Ruby和Rails是不是不可思议的为你做这个。

+0

谢谢,它帮助了很多。 – Elijah 2012-01-06 23:16:36

2

迁移不会改变您的观点。您需要手动添加属性到视图中,或者如果您依赖脚手架(这只会帮助您),请重新生成它们。

+0

谢谢,它现在有效。 – Elijah 2012-01-06 23:17:21

1

您的DbMigrate不会为您更新您的视图,您将不得不手动去更新这些视图。

这样做是有原因的,想象一下你定制了你的视图,然后在你的表中添加了另一列,你想让你的视图被覆盖吗?

+0

明白了,非常感谢。 – Elijah 2012-01-06 23:53:37