2017-02-19 104 views
1

我試圖用裝飾器做一些非常簡單的事情。我從來沒有親自設置一個裝飾器,我試圖花一些時間來了解它。基本上我試圖獲取一個表的屬性,並圍繞它建立一些視圖邏輯。這裏是我的代碼:使用Rails實現裝飾器應用

頁控制器:

def dashboard 
    @assignments = current_account.assignments.all.decorate 
    @invitation = Invitation.new 
    end 

儀表板裝飾:

class AssignmentDecorator < Draper::Decorator 
    def status 
    if finished 
     "Finished" 
    else 
     "Waiting" 
    end 
    end 
end 

查看錶:

 <tr class="assignment-rows"> 
     <td><%= link_to assignment.name, account_assignment_path(assignment) %></td> 
     <td><%= assignment.assigned_workers %></td> 
     <td><%= assignment.status %></td> 
     </tr> 

正如你可以看到我試圖打電話給我在td裏有賦值方法。但是當我嘗試呈現儀表板,我得到這個錯誤:

enter image description here

回答

1

用途:

@dashboard = Dashboard.find(dasboard_id).decorate 

編輯:

它看起來像你想的assignment裝飾,而不是dashboard裝修工。 用Draper生成一個新的,然後:

@assignments = current_account.assignments.all.decorate