我对rails 3的关系有一些奇怪的错误。
if @user.class.name == "Candidat"
@sessiontests=@user.Sessiontests.where(:terminate => false)
else
@sessiontests = Sessiontest.not_terminated
end
我无法在@ user.Sessiontests上使用我的命名范围not_terminated。我收到“无法转储文件”错误。
当我尝试这个时,我遇到了同样的错误:
@sessiontest =@candidat.Sessiontests.where("datetest > ?", Date.today)
完美无缺。但是,当我将此代码移动到我的模型的函数中时。我再次得到“无法转储文件”错误。该功能正常工作,并返回正确的对象,但轨道崩溃。
有什么想法吗?
编辑:
我的意思是: @ sessiontests = @ user.Sessiontests.where(:terminate => false) 作品。但是: @ sessiontests = @ user.Sessiontests.not_terminated 因我的错误而崩溃。我的范围: 范围:not_terminated,where(“terminate!=?”,true)
和 @sessiontest =@candidat.Sessiontests.where(“datetest>?”,Date.today) 在我的控制器中完美运行。 但是: @sessiontest = @ candidat.my_function #in controller
#in my model candidat
def myfunction
results=self.Sessiontests.where("datetest > ?", Date.today)
return results
end
没用。
鉴于: @count = @ candidat.my_function_count #in controller
#in my model candidat
def myfunction
count = self.Sessiontests.where("datetest > ?", Date.today).count
return count
end
完美无缺。
我与一对多的关系(1对许多会话测试的候选人)被命名为:Sessiontests。