默认情况下,所有整数都由','
分隔。
例如: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
谢谢。