从 ApplicationRecord 中的 class 方法调用方法
Calling a method from a class method in ApplicationRecord
我有一个奇怪的问题
我有以下实现:
在控制器中
Event.search(search_params)
class Event < ApplicationRecord
def self.search(params)
find_events(params)
end
private
def find_events(params)
events = Event.upcoming
events = events.where("name like ?", "%#{params['name']}%")
events
end
end
执行时出现此错误:
NoMethodError (undefined method `find_events' for #<Class:0x007fadcd00a690>)
我的代码有什么问题?
您必须使用
声明 class 方法
def self.find_events
如果没有实例对象附加到该方法,则无法从 class 方法调用实例方法。
我有一个奇怪的问题 我有以下实现: 在控制器中 Event.search(search_params)
class Event < ApplicationRecord
def self.search(params)
find_events(params)
end
private
def find_events(params)
events = Event.upcoming
events = events.where("name like ?", "%#{params['name']}%")
events
end
end
执行时出现此错误:
NoMethodError (undefined method `find_events' for #<Class:0x007fadcd00a690>)
我的代码有什么问题?
您必须使用
声明 class 方法def self.find_events
如果没有实例对象附加到该方法,则无法从 class 方法调用实例方法。