decorateしたもののメソッド(例えばUser#name
)を呼ぼうとしたら、NoMethodError
と出てきてしまった。
最初の方法
<% (@user.methods - Object.new.methods).each do |method| %>
<%= method %><br>
<% end %>
で見ると、
user, object, model, source
なるものを発見。どうやらdecorateする元らしい。なので、
user.object.name
とすれば動くようになった。
あとで調べると…
http://qiita.com/tachiba/items/6f0d56598de639adae1d#3-5
https://github.com/drapergem/draper#delegating-methods
を見るに、
class UserDecorator < Draper::Decorator
delegate_all
end
とすればいいらしい。