進捗

主にRubyを使用してます。

Decoratorディレクトリ内でファイルがネストされてる時の呼び出し方法について

railsのdecoratorを使っていたんですが、
ちょいとハマったので、メモとして残します。


Draperというgemを使って、デコレーターを作成し、
使用しようとしていました。

基本的には、app/decorators/ 直下にデコレーターファイルを作成し、
呼び出せば問題ない。


例えば、app/decorators/user_decorator.rbファイルを呼び出す時、

def index
  @user = User.find{params[:id]).decorate
end

これで問題ない。


しかし、今回は、app/decorators/~~/~~/配下にあるデコレーター
を呼び出したかったが、
上記のような方法では、
Could not infer a decorator for
というエラーが出て、呼び出すことができなかった。


そこで、(app/decorators/user/page_decorator.rbを呼び出す時)

def index
  @user = User::PageDecorator.decorate(params[:id])
end

とすることで
無事呼び出すことができた。
nekorails.hatenablog.com