Jac*_*cob 3 ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1 activeadmin
我正在使用 ActiveAdmin,如果我编辑一个条目并将 TEXT 字段留空,则在数据库中它会被设置为空字符串——当它真的应该被设置为 NULL 时(并且这些字段的架构上允许 NULL) .
有没有其他人遇到过这个问题并解决了它?
(从评论中移出,因为我发现关于它的评论越来越多):
我没有使用过 ActiveAdmin,但是...有什么理由不将空字符串存储为空字符串而是将其存储为 NULL?
我认为空字符串到 Nil 的转换永远不应该是自动的,因为它违反了最少的惊喜。如果我错了,我会很感激文档参考说明相反...
至于解决它,我想这可能会奏效:
before_validation do
self.mytextfield = nil if self.mytextfield && self.mytextfield.empty?
end
Run Code Online (Sandbox Code Playgroud)
或者,更系统地,这个 gem。
class MyModel < ActiveRecord::Base
nilify_blanks :only => [:mytextfield]
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1362 次 |
| 最近记录: |