在Rails 4

时间:2017-06-24 19:36:37

标签: ruby-on-rails ruby-on-rails-4 autoload eager-loading

this问题的答案结束时,这句话是

  

...在每个rails应用程序中,所有目录   在app /下自动在autoload_paths和   eager_load_paths,意味着在那里添加目录不需要   进一步的行动。

我在autoload文件夹中添加了app文件夹。在其中我有一个名为assemble_best.rb的文件,其中包含以下内容以进行测试:

# app/autoload/assemble_best.rb
module AssembleBest
  def best_assembly(user_id,incl_confirms)
    p "****"
    p 'yo! it worked!'
  end
end

在我的控制器中我有:

best_assembly(current_user.id, true)

我得到的错误是:

undefined method `best_assembly'

对于每个我尝试添加before_action和require语句的各种语法。我还尝试将该文件夹放在lib文件夹中,并在application.rb中添加引用该文件的自动加载。我没有尝试过任何工作。还尝试创建初始化程序。我知道我可以将它添加到我的应用程序控制器,但它已经很大了。这是减小控制器尺寸的第一步。

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

你没有包含那个模块。因此错误。在您的控制器中执行此操作:

class MyController < ApplicationController
  include AssembleBest