0

我有一个创建 jquery 可排序输出的内容标签。有些项目我不想排序,所以我在 jquery 中添加了以下内容:

    cancel: ".ui-state-disabled"

所以,现在我需要将“ui-state-disabled”放入 li 类中。

目前创建 li 的代码是这样的:

               <% wostatus.workorders.each do |workorder| %>
                <%= content_tag_for(:li, workorder) do %>
                    <div class="<%= workorder.type.maximo_no %> <%= workorder.priority %> ">
                      <a href="<%= workorder_path(workorder) %>">
                        <strong><%= workorder.wonum %></strong>
                        <%= workorder.description %>
                      </a>
                    </div>
                <% end %>
            <% end %>

HTML 中的结果是:

<li class="workorder" id="workorder_36">
    <div class="  ">
       <a href="/workorders/36">
          <strong>13-39870</strong>
                        Added some text again
          </a>
    </div>
</li>

在浏览器中,如果我编辑 li 类以包含“ui-state-disabled”,它会按照我想要的方式工作。

现在,如果workorder.wostatus.id = 232,我如何将“ui-state-disabled”插入li状态?

谢谢你的帮助!!

4

1 回答 1

1

做一个帮手:

def disabled_workorder_li(workorder)
  {:class => "ui-state-disabled"} if workorder.id == 232
end

然后在视图中:

<%= content_tag_for(:li, workorder, disabled_workorder_li(workorder) %>

如果您跳过帮助程序并尝试在视图中完成所有操作,则会出现以下情况:

<%= content_tag_for(:li, workorder, 
(workorder.id == 232) ? {:class => "ui_state_disabled"} : nil %>

那看起来很可怕。将其放入助手中也将使其更易于测试。

于 2013-05-02T02:48:19.910 回答