gpt4 book ai didi

ruby-on-rails - rails : undefined method Error when scoping

转载 作者:行者123 更新时间:2023-12-02 20:51:37 25 4
gpt4 key购买 nike

我有以下用户模型:

class User < ApplicationRecord
# Associations
has_many :issues
# Instances
def has_issues?
issues.resolved.exists?
end
end

和问题模型:

class Issue < ApplicationRecord
# Associations
belongs_to :user
# Scopes
scope :resolved, -> { where(:resolved => true) }
end

如果我现在在我的 View 中调用类似的内容:

unless current_user.has_issues

我收到以下错误:

NoMethodError in Controller#index
undefined method `has_issues' for #<User:0x72dd7c0>

我做错了什么?

最佳答案

范围是您在类上调用的方法(例如 User.has_issues)或 ActiveRecord::Relation(例如 User.where(...).has_issues )。您不能在模型的实例上调用作用域方法。如果您想获取有关模型实例的信息,您应该使用实例方法,而不是范围:

class User < ApplicationRecord
has_many :issues

def has_issues?
issues.resolved.exists?
end
end

关于ruby-on-rails - rails : undefined method Error when scoping,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42028810/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com