Вызов метода для атрибута в рельсах - PullRequest
0 голосов
/ 10 июня 2011

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

У меня есть модель Movie с атрибутами name, жанром, временем показа, showdate, годом выпуска и названием. В моем файле movie.rb я добавил attr_accessor: genre, чтобы я мог использовать методы setter и getter, но когда я захожу в консоль rails и создаю фильм со всеми атрибутами, то: genre продолжает отображаться как «nil», но когда я называю movie.genre, он подходит как правильный перечисленный жанр. Я не уверен, почему это так?

Кроме того, поскольку жанр не является классом, есть ли какие-либо методы, которые я могу вызвать для перечисления всех жанров в базе данных?

Спасибо!

1 Ответ

2 голосов
/ 10 июня 2011

Является ли жанр колонкой в ​​вашей таблице фильмов?Если это так, зачем использовать attr_accessor?

Во второй части вашего вопроса вы можете написать метод класса в movie.rb для перечисления всех жанров.Что-то вроде:

def self.genres
  Movie.all.map(&:genre).uniq
end
...