Я совершенно новый в RoR, и сейчас я столкнулся с проблемой. Я реализую систему посещаемости, и у меня есть ресурс Event в приложении. То, что я хочу сделать, - это возможность вызвать event.color (на экземпляре Event) и вернуть классическую строку цвета css (например, # 2EAC6A). Я не хочу создавать новый столбец или таблицу в базе данных, если это возможно. Это означает, что было бы лучше, если бы эта переменная обрабатывалась самим рубином цвет.Как создать «экземпляр». «Метод» может быть вызван - Ruby on Rails
Я хочу установить цвет события после его создания в зависимости от его типа. То, что я имел в виду что-то вроде этого, чтобы установить цвет:
class Event < ActiveRecord::Base
after_create :set_color
...
def set_color
case self.type
when type1
#Here I want to set the color for event of type1
when type2
#Here I want to set the color for event of type2
when ....
.
.
end
end
Это только для установки цвета (и до сих пор я не уверен, что это функциональный ...), но я понятия не имею, как сохранить переменная цвета для каждого события без базы данных и как сделать возможным вызов метода Event.color. Я использую RoR v 3.2.14
Прошу, я был бы рад за любую помощь. Спасибо, у меня хороший день!
J.S.
Это работает как шарм! Спасибо! – Samah
Я обновил свой ответ и добавил больше идей :) – Mattherick
Я получаю идею, но не обязательно иметь разные классы для каждого экземпляра, поскольку тип - это еще одна переменная, и она используется для отображения типа и распознавания типа посещаемости (например, Vacation, Больной день, командировка и т. Д.). Поскольку цвет для типа события никогда не меняется, ваша первая реализация просто прекрасна! Еще раз спасибо Mattherick :) – Samah