从 rails 中的所有整数中删除



默认情况下,所有整数都由','分隔。

例如:123456显示为 1,23,456。

有没有办法从所有表的所有整数中删除','

如果是针对单个表和特定字段,我们可以在其控制器中通过以下方式执行此操作。

config.columns[:<int_field>].options={:i18n_options => {delimiter: ""}}

有没有办法对所有整数字段执行此操作?

PS:在我的应用程序中使用活动脚手架。

谢谢。

使用 tr 作为:-

2.0.0-p645 :005 > "1,23,456".tr(',', '')
=> "123456"

将结果转换为整数:-

2.0.0-p645 :005 > "1,23,456".tr(',', '').to_i
=> 123456

检查irb字符串中的方法:-

"".methods

在视图中使用它作为:-

<%= "1,23,456".tr(',', '').to_i %>

有关更多详细信息,请参阅文档

我假设Rails with Activescaffold默认使用其I18n模块中的格式化规则。您可以在 config/locales/en-US.yml 中更改它们。这是突出显示相关行的默认行。

这应该会影响视图中数字的所有格式。我认为您只需要将分隔符更改为空白字符串:

...
format:
  delimiter: ""
...

您可以在相应的 I18n 指南中找到有关 Rails I18n 的一般信息。

这非常有效。

在 application_helper.rb 中添加了以下行:

def format_number_value(value, delimiter = '')
  if value.is_a? Integer
     ActiveSupport::NumberHelper.number_to_delimited(value, delimiter: '')
  else
    super
  end
end

谢谢。

相关内容

  • 没有找到相关文章

最新更新