1

我正在实现 draper 装饰器,下面是代码。

def edit 
    find_machine!
    puts @machine.model
    authorize! :edit, @machine
end

def find_machine!
    @machine = Machine.find(params[:id])
end

.decorate在我添加方法之前一切正常,

def find_machine!
    @machine = Machine.find(params[:id]).decorate
end

class MachineDecorator < Draper::Decorator
    delegate_all
    decorates_finders

    def test_decorate
        'please'
    end
end

在我添加.decorate方法之前,@model 属性是它应该是的,但是在我添加方法之后,puts 输出变为:#<Machine:0x007fd7e7813500>

发生了什么事?

4

0 回答 0