ruby-on-rails - 如何格式化 Rails 编辑字段中显示的值?

标签 ruby-on-rails ruby forms

我想让编辑表单域尽可能方便用户使用。例如,对于数值,我希望该字段以逗号显示(如 number_with_precision )。

这在显示方面很容易,但是编辑呢?有什么好的方法吗?

我正在使用 Rails FormBuilder。经过调查,我发现它使用了 InstanceTag,它通过使用 <attribute>_value_before_type_cast 获取字段的值。这意味着覆盖 <attribute>不会被调用。

最佳答案

到目前为止我想出的最好的是这样的:

<%= f.text_field :my_attribute, :value => number_with_precision(f.object.my_attribute) %>

或者 my_attribute 可以返回格式化值,如下所示:

def my_attribute
  ApplicationController.helpers.number_with_precision(read_attribute(:my_attribute))
end

但是你还是要用:value

<%= f.text_field :my_attribute, :value => f.object.my_attribute %>

这看起来工作量很大。

关于ruby-on-rails - 如何格式化 Rails 编辑字段中显示的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/591939/

相关文章:

c# - 窗体上的自动调整大小面板

javascript - 使用javascript根据html形式的产品数量计算订单的总成本

ruby-on-rails - 在 Rails 3 中为 OmniAuth 创建命名路由

ruby-on-rails - Action Controller : Exception Caught [NoMethodError in ViewerController#show]

css - Bootstrap 危险类不适用于表行

ruby - 选项卡的 Rubocop

ruby - 从 beanstalkd 队列中保留多个作业

javascript - 使用文本字段更改表单隐藏字段

ruby-on-rails - Vim ruby 自动完成

jquery - 如何为表单的所有输入绑定(bind)一个事件?