Переопределение атрибутов Rails

#ruby-on-rails-3 #activerecord

#ruby-on-rails-3 #activerecord

Вопрос:

У меня есть модель с атрибутом «name». Я хотел бы иметь возможность создать средство получения «name», которое возвращает name.capitalize.

Проблема, однако, заключается в том, что при сохранении модели в базу данных записывается имя с заглавной буквы. Предложения?

Ответ №1:

 def name
  attributes["name"].capitalize
end
  

и лучше использовать другое название для метода

 def capitalized_name # or "cap_name"
  name.capitalize
end
  

Ответ №2:

 def name
  read_attribute(:name).capitalize
end