-2

我的结构类似于(基于):

# lib/myapp/uploader.rb
require 'uploader/base'

# lib/myapp/uploader/base.rb
module MyApp
  module Uploader
    class Base
    end
  end
end

# app/models/model.rb
class Model < ActiveRecord::Base
  def test
    MyApp::Uploader::Base
  end
end

直接在控制台调用:

$ MyApp::Uploader::Base #> MyApp::Uploader::Base

通过控制台中的模型:

$ Model.new.test
LoadError: Expected <snip>/lib/myapp/uploader.rb to define Uploader

为什么会这样,我该如何解决?

4

1 回答 1

1

更新答案:

在这种情况下,您缺少模型中的要求

所以在你的app/models/model.rb

# app/models/model.rb
class Model < ActiveRecord::Base

  require Rails.root.join('lib').join('myapp').join('uploader').join('base').to_s 

  def test
    MyApp::Uploader::Base
  end
end
于 2013-03-27T17:14:29.097 回答