gpt4 book ai didi

mysql - Rails boolean 值 - True 和 False 与 1 和 0

转载 作者:行者123 更新时间:2023-11-29 04:10:28 25 4
gpt4 key购买 nike

我最近在我正在处理的项目中向 Comment 模型添加了一个新的“已提交”属性。在迁移中,我创建了这样的列:add_column :comments, :submitted, :boolean注意:我正在使用 MySQL 作为数据库。

我希望此属性的默认值为 false,因此我添加了一个 before_create 方法:

before_create :default_values

def default_values
self.submitted = false
end

这对我来说似乎是正确的,但每当我尝试添加新评论时,什么也不会发生,控制台会显示错误。我的创建方法是通过 AJAX 完成的, Controller 通过 JS 正确处理了该方法,但由于某种原因,它默认为 format html 并尝试重定向到不同的页面。

经过一番尝试后,我将 default_values 方法更改为如下所示:

def default_values
self.submitted = 0
end

之后一切正常。这是否与 Rails 使用 tinyint 作为数据库中的 boolean 字段有关?我原以为它会足够聪明,可以在 false/true 和 1/0 之间进行转换。

有趣的是,我尝试通过控制台创建新评论,并且能够将我的 submitted 属性设置为 false,没有任何问题。为什么我必须使用整数而不是 true/false 值?

最佳答案

boolean 值很聪明,只需使用:

object.submitted?

作为访问方式...

关于mysql - Rails boolean 值 - True 和 False 与 1 和 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12499802/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com