Ora*_*nge 6 ruby routes ruby-on-rails upgrade ruby-on-rails-3.1
我目前正在将rails v2中的应用程序迁移到v3
在我的lib/子目录中的一些模块中,例如,我就是lib/search/host_search.rb
用一个
module HostSearch
def do_search(args)
#...
end
end
Run Code Online (Sandbox Code Playgroud)
然后我需要在名为的控制器中使用它 Discovery::HostController < ApplicationController :
def search_results
output = HostSearch.do_search(:search_string => @search_string,
:page => params[:page],
:user => @current_user)
#...
end
Run Code Online (Sandbox Code Playgroud)
但是我得到了:
uninitialized constant Discovery::HostController::HostSearch
Run Code Online (Sandbox Code Playgroud)
..我试着将这些行放在application.rb中,但它不起作用..
config.autoload_paths += %W(#{config.root}/lib)
config.autoload_paths += Dir["#{config.root}/lib/**/"]
Run Code Online (Sandbox Code Playgroud)
我发现将模块移动到lib文件夹或显式包含要加载的文件夹,在你的情况下config.autoload_paths + =%W(#{config.root}/lib/search)
我认为我们缺少一些语法上的东西.另一件事是,如果你不想搞乱application.rb文件,请求文件,如果我记得的话,从lib文件夹获取文件路径,例如:search/host_search < - 检查一下.
| 归档时间: |
|
| 查看次数: |
5166 次 |
| 最近记录: |