У меня странные ошибки с рельсами 3 отношения.
if @user.class.name == "Candidat"
@sessiontests=@user.Sessiontests.where(:terminate => false)
else
@sessiontests = Sessiontest.not_terminated
end
Я не могу использовать свою именованную область действия not_terminated на @ user.Sessiontests.Я получаю сообщение об ошибке «не могу создать файл».
Я получаю такую же ошибку, когда пытаюсь это сделать:
@sessiontest =@candidat.Sessiontests.where("datetest > ?", Date.today)
Это работает отлично.Но когда я перемещаю этот код в функцию моей модели.Я снова получаю сообщение об ошибке «не могу загрузить файл».Функция работает и возвращает мне нужный объект, но рельсы терпят крах.
Есть идеи?
Редактировать:
Я имею в виду: @ sessiontests = @ user.Sessiontests.where (:завершить => ложь) работает.Но: @ sessiontests = @ user.Sessiontests.not_terminated сбой с моей ошибкой.
Моя область действия: scope: not_terminated, где ("terminate! =?", True)
And @sessiontest =@ candidat.Sessiontests.where ("datetest>?", Date.today) отлично работает в моем контроллере.Но: @sessiontest = @ candidat.my_function # в контроллере
#in my model candidat
def myfunction
results=self.Sessiontests.where("datetest > ?", Date.today)
return results
end
не работал.
Принимая во внимание: @count = @ candidat.my_function_count # в контроллере
#in my model candidat
def myfunction
count = self.Sessiontests.where("datetest > ?", Date.today).count
return count
end
Отлично работает.
Мое отношение один ко многим (1 кандидат на множество сессионных тестов), называется: Sessiontests.