Форматирование данных после сбора из базы данных - PullRequest
0 голосов
/ 28 июня 2011

Следующим способом я могу отформатировать данные, когда я присваиваю объекту:

def cost=( w )
    super w.gsub( ",", "." ).gsub( /[^0-9\.]/, "" ).to_f
end

Есть ли простой способ сделать это по-другому? Я имею в виду, что когда я получаю цену из базы данных, автоматически форматирует данные, как в примере выше?

1 Ответ

1 голос
/ 28 июня 2011

Конечно. По вашему мнению, просто используйте number_with_delimeter , например ::

<%= number_with_delimiter @record.cost %>

Предполагается, что для вашей локали Rails задано соответствующее местное значение для форматирования, которое вы хотите использовать. В противном случае вы можете форсировать локальный, например:

<%= number_with_delimiter @record.cost, :locale => :fr %>

Кстати, вы могли бы сделать это в своей модели, переопределив cost, например ::

def cost
  some_formatting_method self[:cost]
end

... но это противоречило бы принципам MVC. Как я уже сказал, лучше всего делать это с помощью встроенных помощников.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...