У меня есть модель «Курс», которая имеет следующие атрибуты;Rails лучший способ для области видимости
Course
Price - float
Featured - boolean
Моего вопрос будет следующим, мне нужно 4 списков в моем контроллере, последние курсы, платные курсы, бесплатные курсы и курсы признаков.
Было бы хорошей практикой написать мой контроллер следующим образом?
def index
@courses = Course.order(created_at: :desc)
@free_courses = []
@courses.map {|c| @free_courses << c if c.price == 0}
@premium_courses = []
@courses.map {|c| @premium_courses << c if c.price> 0}
@featured_courses = []
@courses.map {|c| @featured_courses << c if c.featured}
end
Или проводить консультации отдельно?
def index
@courses = Course.order(created_at: :desc)
@free_courses = Course.where("price == 0")
@premium_courses = Course.where("price > 0")
@featured_courses = Course.where(featured: true)
end
Я проверил журналы, что первый вариант - более высокая производительность, но я сомневаюсь, что это анти-партнер.
Спасибо за все!
Спасибо за ответ –
Мой ответ - «Эти области также могут быть изменены». Опечатка должна быть «Эти области также могут быть заколки». Есть ли что-то в моем ответе, которое не гарантирует рост? благодаря – lacostenycoder