2014-01-09 32 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

太棒了,谢谢! –

相关问题