Направляющие: доступ к значению поля из образцового метода

Просто запущенные направляющие изучения (3). Я рву волосы, пытаясь найти, как сделать что-то, по-видимому, совершенно тривиальное: получите доступ к значению поля образцового экземпляра из метода на той модели.

В моем случае:

def formal_name
  @title + " " + @forename + " " + @surname
end

Все три @properties (которые являются всеми полями на таблице в базе данных), возврат nil. Они не были должны.

Невероятно, как получить доступ к полям, не обсужден по http://guides.rails.info/, и Google ничего не поднимает.

BTW, я приезжаю от Django, где этот материал очевиден.

8
задан shingara 25 June 2010 в 07:52
поделиться

3 ответа

Синтаксис @ используется для переменных экземпляра, которые (например) заполняются в контроллерах, а затем используются в представлениях. Не то, что ты здесь делаешь.

На самом деле вам просто нужно

def formal_name
  title + " " + forename + " " + surname
end
10
ответ дан 5 December 2019 в 17:34
поделиться

Вы должны опустить @, вы получаете доступ к ним с помощью методов getter. В некоторых случаях вы должны использовать self. из-за двусмысленности.

0
ответ дан 5 December 2019 в 17:34
поделиться
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
0
ответ дан 5 December 2019 в 17:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: