Rails 3:奇怪的错误

时间:2011-09-14 08:12:36

标签: ruby-on-rails-3 activerecord

我对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。

0 个答案:

没有答案