базовый синтаксис вопроса новичка к полю вызова (активной записи) в рельсах - PullRequest
0 голосов
/ 21 февраля 2011

Я изучаю некоторые базовые знания в рельсах и обнаружил трудности в понимании кода.

У меня есть этот метод

def mymethod
  cup  = Cup.find_by_id(current_cup.id)
  result, log = cup.parse(mug.bought_date)
end

У меня есть два вопроса для кода выше

Чашка принимает значение на основе идентификатора с параметром текущего идентификатора чашки.Но я заблудился с результатом, войдите, потому что я не могу найти функцию, записать "функцию для рельсов в Google (или, может быть, я пропустил ее). Или, может быть, это определенная функция? Второй вопрос заключается в том, что в таблице mysqlЯ не нахожу никаких столбцов "разбора".Как называется cup.parse, если в строке нет столбцов "parse"?Опять же, это определенная функция кодировщика, если да, как я могу сделать такую ​​функцию?

Извините за этот суперосновный вопрос, но я пытался прочитать и не могу найти правильное объяснениеНо я считаю, что обучение непосредственно у экспертов может помочь мне выбрать правильный путь.

Большое спасибо

1 Ответ

1 голос
/ 21 февраля 2011

Модель Cup должна иметь метод с именем parse.Посмотрите на app/models/cup.rb, и вы должны увидеть там def parse.Модели Rails представляют столбцы базы данных как методы, да, но вы также можете добавить методы, которые вообще не соответствуют базе данных.Это потому, что класс модели - это просто класс ruby, как и любой другой класс ruby.

Вторая сбивающая вас с толку часть называется деструктурирующим присваиванием.cup.parse возвращает массив с 2 элементами.Вы можете использовать этот синтаксис для извлечения значений из возвращенного массива и присвоения локальным переменным.Например:

var1, var2, var3 = [:a, :b, :c]
puts var1 #=> a
puts var2 #=> b
puts var3 #=> c

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

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