2014-01-09 34 views

回答

0

不,這是不可能的。 Rails必須運行遷移才能將表導入數據庫。這需要在遷移後停止並重新啓動服務器。您不想在生產中使用這種情況。

動態表單會完成我相信你以後的事情。

總之,您將模型的字段設置爲單獨的模型。例如

class Car 
    has_many :car_fields 
end 

class CarFields 
    belongs_to :car 
end 

然後,您可以製作一個表單,用戶可以在添加汽車到數據庫時添加和刪除字段。

這是偉大的由Ryan貝茨這裏http://railscasts.com/episodes/403-dynamic-forms

解釋我想你需要訂閱觀看。我沒有一個,得到一個。 Railscasts非常棒!

1

是的,您可以使用ActiveRecord :: Base.connection.execute來執行應用程序數據庫用戶可以對數據庫執行的任何操作。例如:

ActiveRecord::Base.connection.execute('ALTER TABLE people ADD name VARCHAR(60);') 

但是,如果添加一列一個表,該列對應的屬性不會直到您重新啓動應用程序在ActiveRecord類可用。

+0

太棒了,謝謝! –

相關問題