Rails 5忽略/ lib类?

Kev*_*own 19 ruby-on-rails ruby-on-rails-5

我已经将这种方法用于rails中的模态.它运行得很好,但我刚刚升级到Rails 5 beta3,现在它不能用于生产.

我收到此错误:

Completed 500 Internal Server Error in 22ms (ActiveRecord: 0.9ms)

NameError (uninitialized constant ApplicationController::ModalResponder):

app/controllers/application_controller.rb:26:in `respond_modal_with'
app/controllers/tools_controller.rb:28:in `new'
Run Code Online (Sandbox Code Playgroud)

我的继承是否被Rails 5抛弃了?

class ModalResponder < ActionController::Responder/lib并且正在开发中......

使用rails 5查找有关更改的信息,但来源仅限于我的知识.

Jon*_*ran 32

改变这个:

config.autoload_paths << Rails.root.join('lib')
Run Code Online (Sandbox Code Playgroud)

对此:

config.eager_load_paths << Rails.root.join('lib')
Run Code Online (Sandbox Code Playgroud)

config/application.rb将积极投入生产和按需开发.这样做,您不需要明确要求每个文件.

查看有关此答案的更多信息.


Alv*_*dor 9

您需要在lib文件夹中添加一个'require'(在application.rb上).

喜欢:

要求'./lib/someclass'

我建议你把它放在一个Rails插件中.

  • @Arvro 单独将 `lib` 添加到 autoload_paths 似乎并不能解决问题。您必须明确要求要在生产中自动加载的文件。至少这是我必须做的才能让它工作。任何人都知道这是否是预期行为以及为什么? (2认同)