2016-02-13 48 views
0

我已經通過來自另一個控制器的操作更改了數據庫向表聯繫人添加新列'email'。我現在想把這個作爲一個新屬性添加到ActiveRecord模型聯繫人中,我該怎麼做?還是有另一種方法來添加一個新的屬性,並在同一時間更改表格?這些操作都在運行時間,這就是爲什麼我動態放置的原因。如何在運行時向Rails上的ActiveRecord模型動態註冊新屬性

我想這樣做,但我收到的錯誤

ActiveRecord::UnknownAttributeError in ContactsController#create

@contact = Contact.new(contact_params)但是當我重新啓動應用它們都工作地好了,似乎模型實例所需要的數據庫模式的一個新的重映射或類似的東西

+0

在運行環境中更改數據庫模式似乎是個壞主意,除非您正在製作數據庫管理Web應用程序。 –

+0

它是一個管理類型的應用程序,所以模式的變化是必要的,任何提示,我會非常歡迎聽到 –

回答

1

那是在契稅的問題,我不得不使用下面的方法reset_column_information

這裏是序列:

Contact.reset_column_information() @contact = Contact.new(contact_params)