2014-02-21 69 views
0

我在Rails中创建一些模块的用户名空间。它可以在控制器,模型中正常工作,但是在presenters路径中的演示者出了问题。SomeNamespace的未定义方法`SomePresenter':模块

这是主持人之一,没有命名空间:

class MainPresenter < Struct.new(:main, :current_user) 
    extend Ext::CollectionPresenter 

    def as_json 
    { 
     something: SomeNamespace::SomePresenter(main.something) 
    } 
    end 

end 

这是presenters/some_namespace/some_presenter.rb

class SomeNamespace::SomePresenter < Struct.new(:something, :options) 
    extend Ext::CollectionPresenter 

    def as_json 
    # some hash here 
    end 

end 

演示,我得到undefined method 'SomePresenter' for SomeNamespace:Module错误。可能是什么问题呢。

回答

1

SomePresenter是一类,你正在使用它作为一种方法。因此,错误。 如下使用它:

something: SomeNamespace::SomePresenter.new(main.something) 
+0

我讨厌这样的错误......非常感谢! – ciembor

+0

@ciembor请接受答案,因为它可以帮助其他人提出建议的答案(也间接为我:)) –

相关问题