Модель
Материал (имеет arrive_date атрибут: дата)Rails, как получить атрибут из другого контроллера
контроллер
materials_controller,
urgent_controller
В urgent_controller я хочу, чтобы выяснить, все материалы, которые должны быть получены в течение 5 дней, делая это
class UrgentController < ApplicationController
def index
@materials = Material.where((Time.zone.now.to_date - arrive_date).to_i <= 5)
end
end
Но urgent_controller не знаю, этот атрибут и показать ошибки
неопределенными локальная переменная или метод `arrive_date» для
Как я могу это исправить? Заранее спасибо.
Можете ли вы включить код, чтобы показать свои контроллеры? Контролерам не нужно знать друг о друге. У 'срочного_контроллера' должен быть свой собственный' arrival_date' определенный, отдельно от 'material_controller'. –
@EricWalker Привет, см. Обновленный код –
Я вижу. Вероятно, вы хотите что-то вроде того, что делается здесь: http://stackoverflow.com/questions/10301400/datetime-arithmetic-in-an-activerecord-query-postgresql. Аналогичный ответ будет для MySQL. Важным моментом является то, что 'come_date', кажется, является столбцом в вашей базе данных, поэтому вы не можете ссылаться на него как на метод Ruby или переменную. –