Я работаю над приложением, в котором у меня есть пользовательское предпочтение отображать расстояния или веса в метрических или стандартных единицах измерения.Я использую фильтр для сохранения единиц измерения в едином формате в базе данных
before_save :convert_distance
Как лучше всего отобразить эти единицы в моих представлениях?Я попытался добавить геттер в мою модель с именем display_distance, как показано ниже, но это не сработало.
#model
def display_distance
self.workout.user.uses_metric ? self.distance * 1.609344 : self.distance
end
#view
<%= f.text_field :distance, {:value=>f.object.display_distance} %>
#error
You have a nil object when you didn't expect it!
Я сделал to_yaml и убедился, что f.object является экземпляром правильного объекта.Кроме того, я использую вложенные формы, я не уверен, имеет ли это значение.
Кроме того, я не уверен, стоит ли мне пытаться выполнить преобразование в модели или в помощнике.Я думал, что модель будет лучше, так как я буду использовать эту функцию в нескольких представлениях.