Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 简单形式的RoR:自动将nil分配给';空的';属性?_Ruby On Rails_Simple Form - Fatal编程技术网

Ruby on rails 简单形式的RoR:自动将nil分配给';空的';属性?

Ruby on rails 简单形式的RoR:自动将nil分配给';空的';属性?,ruby-on-rails,simple-form,Ruby On Rails,Simple Form,当通过表单提交一个空字段时,属性就会变成“”,就像在空白中一样,但我认为它应该是零 如果属性更新为空,是否可以将其保持为零 我确实找到了这个宝石: 但我不知道现在怎么还没有解决这个问题(gem已经3年了),也许我遗漏了什么。那么: class Foo < ActiveRecord::Base before_update :clear_empty_attrs def clear_empty_attrs changes.each { |k, v| write_attrib

当通过表单提交一个空字段时,属性就会变成“”,就像在空白中一样,但我认为它应该是零

如果属性更新为空,是否可以将其保持为零

我确实找到了这个宝石:

但我不知道现在怎么还没有解决这个问题(gem已经3年了),也许我遗漏了什么。

那么:

class Foo < ActiveRecord::Base

  before_update :clear_empty_attrs

  def clear_empty_attrs
    changes.each { |k, v| write_attribute(k, nil) if v.last.blank? }
  end
end
class Foo
因为我必须将其添加到每个模型中。动态地将其添加到您的模型中-例如在初始值设定项中。这正是gem所做的。我在想,也许Rails现在已经为此引入了配置。谢谢你的帮助。