Ruby on rails 用Rails应用程序实现装饰器

Ruby on rails 用Rails应用程序实现装饰器,ruby-on-rails,decorator,Ruby On Rails,Decorator,我正试图用装饰师做一些非常简单的事情。我从来没有亲自设置过装饰师,我正试图花一点时间来了解它。基本上,我试图获取一个表的属性,并围绕它构建一些视图逻辑。这是我的密码: 页面控制器: def dashboard @assignments = current_account.assignments.all.decorate @invitation = Invitation.new end 仪表板装饰器: class AssignmentDecorator < Drap

我正试图用装饰师做一些非常简单的事情。我从来没有亲自设置过装饰师,我正试图花一点时间来了解它。基本上,我试图获取一个表的属性,并围绕它构建一些视图逻辑。这是我的密码:

页面控制器:

  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
class AssignmentDecorator
查看表:

      <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中的赋值方法。但是,当我尝试渲染仪表板时,会出现以下错误:

使用:

@dashboard = Dashboard.find(dasboard_id).decorate
编辑:

看起来您需要的是
分配
装饰器,而不是
仪表板
装饰器。 使用Draper生成一个新的,然后:

@assignments = current_account.assignments.all.decorate