Просто запущенные направляющие изучения (3). Я рву волосы, пытаясь найти, как сделать что-то, по-видимому, совершенно тривиальное: получите доступ к значению поля образцового экземпляра из метода на той модели.
В моем случае:
def formal_name
@title + " " + @forename + " " + @surname
end
Все три @properties (которые являются всеми полями на таблице в базе данных), возврат nil
. Они не были должны.
Невероятно, как получить доступ к полям, не обсужден по http://guides.rails.info/, и Google ничего не поднимает.
BTW, я приезжаю от Django, где этот материал очевиден.
Синтаксис @ используется для переменных экземпляра, которые (например) заполняются в контроллерах, а затем используются в представлениях. Не то, что ты здесь делаешь.
На самом деле вам просто нужно
def formal_name
title + " " + forename + " " + surname
end
Вы должны опустить @, вы получаете доступ к ним с помощью методов getter. В некоторых случаях вы должны использовать self.
из-за двусмысленности.
class MyModel << ActiveRecord
def formal_name
title = self.title # return title attribute of instance
forename = self.forename
surename = self.surname
# or something like this
self.title + self.surename
end
end