ruby 如何为Rails迁移定义布尔型字段

h9a6wy2h  于 2023-10-17  发布在  Ruby
关注(0)|答案(2)|浏览(93)

我想添加一个布尔字段(“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”。
我可以用:boolean替换:string来达到同样的效果吗?与:string相比,它会节省保存一些数据库空间吗?

ix0qys7i

ix0qys7i1#

是的,你可以使用:boolean来实现,而且它还可以保存数据库空间。

col17t5w

col17t5w2#

将type属性更改为:boolean并再次运行rake db:migrate。您应该能够调用,例如:

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

相关问题