私の問題は最初は簡単だったようですが、まだ解決できませんでしたので、私のDBからいくつかのレコードを取得しました。それらの検索されたレコードの。私は 私のモデルに従う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の値を返すオブジェクト全体をレンダリングすることができますか? 多くのありがとう
おかげさまで助けてくれてありがとう、私は新しいレンダリングメソッドを使いました。私はとにかくコードをリファクタリングしています。 – mdiaz00147