gpt4 book ai didi

ruby-on-rails - Rails 没有为数据库中的文本字段设置 NULL?

转载 作者:行者123 更新时间:2023-12-04 00:46:43 24 4
gpt4 key购买 nike

我正在使用 ActiveAdmin,如果我编辑一个条目并将一个 TEXT 字段留空,在数据库中它会被设置为空字符串——当它真的应该被设置为 NULL 时(并且 NULL 在用于那些字段)。

有没有其他人遇到过这个问题并解决了?

最佳答案

(从评论中移出,因为我发现越来越多的人要谈论它):

我没有使用过 ActiveAdmin,但是......为什么空字符串不会存储为空字符串而是 NULL?

我认为空字符串到 Nil 的转换永远不应该是自动的,因为它违反了最少的意外。如果我错了,我会很感激文档引用说明相反......

至于解决它,我想这可能会成功:

before_validation do
self.mytextfield = nil if self.mytextfield && self.mytextfield.empty?
end

或者,更系统地,this gem .

class MyModel < ActiveRecord::Base
nilify_blanks :only => [:mytextfield]
end

关于ruby-on-rails - Rails 没有为数据库中的文本字段设置 NULL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8551800/

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