моя проблема казалась простой, но я еще не смог ее решить, поэтому я получаю некоторые записи из своей БД, а затем мне нужно добавить атрибут для каждого из тех извлеченных записей. Я стараюсь, как следовать Моя модельRuby on rails добавить атрибут к существующему объекту из активных записей
class Lesson < ActiveRecord::Base
attr_reader :palindrome #getter
attr_writer :palindrome #setter
attr_accessor :palindrome #both
belongs_to :schedule
belongs_to :user
has_one :schedule
end
и в моем контроллера им делать это, чтобы добавить его
def index
@lessons = Lesson.select(:id,:start_date,:users_allowed,:name,:users_enrolled).where(start_date: (Time.now.beginning_of_week.beginning_of_day)..Time.now.end_of_week.end_of_day).order(start_date: :desc)
@schedules = Array(Schedule.where(user_id: 50).pluck(:lesson_id))
day_id = params[:id].to_i
@day_1 = []
@day_2 = []
@day_3 = []
@day_4 = []
@day_5 = []
@day_6 = []
if day_id.present?
@lessons.each do |lesson|
lesson.palindrome = 'TEST'
case lesson.start_date.wday
when 1
@day_1 << lesson
when 2
@day_2 << lesson
when 3
@day_3 << lesson
when 4
@day_4 << lesson
when 5
@day_5 << lesson
when 6
@day_6 << lesson
end
end
case day_id
when 1
@lessons = @day_1
when 2
@lessons = @day_2
when 3
@lessons = @day_3
when 4
@lessons = @day_4
when 5
@lessons = @day_5
when 6
@lessons = @day_6
end
render json: @lessons
end
end
, но им получать этот ответ
[
{
"id": 7019,
"start_date": "2016-10-24T20:30:00.000Z",
"users_allowed": 4,
"name": "Power - Funcional",
"users_enrolled": 2
},
{
"id": 7018,
"start_date": "2016-10-24T20:00:00.000Z",
"users_allowed": 4,
"name": "Power - Funcional",
"users_enrolled": 0
}]
, как вы можете видеть, не возвращается новый присвоенный мне атрибут, однако я попытался позвонить по телефону
render json: @lessons[0].palindrome
и он возвращает мне значение атрибута, мой вопрос в том, как я могу это сделать, когда я представляю весь объект, он возвращает новое значение attr? Большое спасибо
Привет, спасибо за помощь, им новый, используя метод визуализации, im рефакторинг кода в любом случае, многие из них – mdiaz00147