如何定义轨道移植的布尔型字段

我想添加一个布尔值字段(“is_public”)到表“my_model”。 目前我可以使用这个:

class AddPublicToDream < ActiveRecord::Migration def self.up add_column :my_model, :is_public, :string end def self.down remove_column :my_model, :is_public, :string end end 

然后,我可以在控制器中为mymodel.is_public分配“true”或“false”。

我可以使用:booleanreplace:string来实现相同的效果吗? 它会节省一些数据库空间比较:string?

是的,你可以使用:boolean这个,是的,它也将节省数据库空间。

将type属性更改为:boolean并运行rake db:migrate再次rake db:migrate 。 你应该可以打电话,例如:

 Dream.is_public? # returning true or false depending whether is set.