nil:NilClass Ruby on Rails的未定义方法'>'(NoMethodError)

非难

因此,出于某些奇怪的原因,我不断收到此错误:

undefined method `>' for nil:NilClass
Rails.root: C:/Sites/booking_saloniser - Calendar

 Application Trace | Framework Trace | Full Trace
 app/models/user.rb:11:in `block in upcoming_appointments'
 app/models/user.rb:11:in `upcoming_appointments'
 app/controllers/appointments_controller.rb:8:in `index'

任命控制器

def index
  @upcoming_appointments = current_user.upcoming_appointments
end

用户模型

  def upcoming_appointments
    appointments.order(appointment_time: :desc).select { |a| a.appointment_time > (DateTime.now) }
  end

有机会有人可以帮助我解决此错误吗?

最大清除器

看来您的一个或多个约会记录为零appointment_time

如果不希望出现这种情况,则应在模型上添加一个不为null的验证,然后修复现有数据。

否则(这是快速解决方案),您可以将查询链接为不包含约会时间为零的记录:

  def upcoming_appointments
    appointments
      .order(appointment_time: :desc)
      .where.not(appointment_time: nil)
      .select { |a| a.appointment_time > (DateTime.now) }
  end

如果where.not不可用(如果您使用的是旧版Rails),则也可以使用where("appointment_time != null")

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

学习 Ruby on Rails:NoMethodError(未定义方法 `[]' for nil:NilClass):

未定义的方法“ +”,用于nil:NilClass(NoMethodError)-Ruby

Ruby on Rails 5.2 - NoMethodError(nil:NilClass 的未定义方法`host'):

NoMethodError(nil:NilClass的未定义方法“ []”):即使在使用dig时,Ruby on Rails

Ruby 方法返回为“未定义的方法‘include?’ 对于 nil:NilClass (NoMethodError)"

在方法调用之前,nil:NilClass(NoMethodError)的Ruby未定义方法“ []”

使用Ruby获取方法错误“ NoMethodError:nil:NilClass的未定义方法'each'”

NoMethodError:nil:NilClass的未定义方法“ +”

nil:NilClass <NoMethodError>的未定义方法'[]'

ruby / sql语法nil:NilClass的未定义方法“查询”(NoMethodError)

Ruby Before-Loop:nil:NilClass的未定义方法“ []”(NoMethodError)

Ruby用Sinatra给出了“ NoMethodError:nil:NilClass的未定义方法'[]'”

Ruby `add_item':未定义方法 `>' 为 nil:NilClass (NoMethodError)

Ruby:文本日志文件-nil:NilClass的未定义方法“ []”(NoMethodError)

Rails DateTime-NoMethodError(nil:NilClass的未定义方法“ []”)

Heroku + Rails:NoMethodError(nil:NilClass的未定义方法“ /”)

nil:NilClass的未定义方法“错误”-Ruby on Rails

nil:NilClass的未定义方法`each'-Ruby on Rails

Ruby on Rails - nil:NilClass 错误的未定义方法`each'

Ruby on Rails-nil:NilClass的未定义方法“错误”

nil:NilClass的未定义方法“ +”-Ruby

Ruby:nil:NilClass的未定义方法`[] ='

Ruby的nil:NilClass未定义方法`+'

NoMethodError未定义的方法`',用于nil:NilClass

ActiveStorage:NoMethodError(nil:NilClass 的未定义方法`[]')

NoMethodError未定义的方法'[] ='为nil:NilClass

`<main>': nil:NilClass (NoMethodError) 的未定义方法 `call'

NoMethodError(为 nil:NilClass 未定义方法 `created_at')

测试抱怨NoMethodError:nil:NilClass的未定义方法“名称”