2015-05-15 3 views
0

Для моей Predictions модели я создал метод в predictions_helper.rb так:Вызов вспомогательный метод из модели

module PredictionsHelper 

    def time_in_date(time, date) 
    time.between(date..date+1.day) 
    end 
end 

Однако, когда я называю это так:

time_in_date(le.time, date) 

Я получаю следующее сообщение об ошибке:

NoMethodError: 
     undefined method `time_in_date' for PredictionsHelper:Module 
+0

где и как вы это называете? –

+0

BTW, помощники ** не ** для использования с моделями. Они предназначены для просмотра в основном (и, иногда, контроллеров). –

+0

В рамках метода модели. Вся строка выглядит так: le = @ last_estimation.select {| le | time_in_date (le.time, date)}. first' – octavian

ответ

1

Прогнозы_helper находится в пределах объема модели прогнозов, однако s Если вы поместили его внутри модуля, вам нужно будет включить этот модуль.

Итак:

include PredictionsHelper 
# code... 

или

PredictionsHelper::time_in_date(le.time, date) 
1

Похоже, что проще всего сделать, будет включать ваш модуль в классе Прогнозы

class Prediction < ActiveRecord::Base 
    include PredictionsHelper 
end 

Это даст вам доступ к time_in_date

Смежные вопросы