gpt4 book ai didi

ruby-on-rails - 模块未加载到 Controller 中(undefined_method 错误)

转载 作者:行者123 更新时间:2023-12-01 01:58:28 25 4
gpt4 key购买 nike

在申请 BeforeOrAfter 之前在我看来,模块,试图让它在控制台中工作。获取 NoMethodError: undefined method #` 错误的 before_or_after':

> s = Artist.find(1)
> s.events.each do |event|
> before_or_after(event.date)
> end

我选择创建一个新的模块子目录,app/modules/before_or_after.rb:
module BeforeOrAfter
attr_reader :past
attr_reader :future

require "date"
def initialize
@datetime = DateTime.new
@future = []
@past = []
end

def before_or_after(datetime)
if datetime < DateTime.now
@past << datetime
else
@future << datetime
end
end
end

将它包含在 application_controller.rb 中,因为我所有的 Controller 都将使用它:
class ApplicationController < ActionController::Base
include BeforeOrAfter

最佳答案

要在您的 Rails 应用程序中运行,请在 config/application.rb 中添加以下行,

config.autoload_paths << Rails.root.join('app/modules')

要在控制台中运行,请首先包含您的模块,例如,
include BeforeOrAfter

关于ruby-on-rails - 模块未加载到 Controller 中(undefined_method 错误),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38649465/

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