gpt4 book ai didi

ruby-on-rails - 在 View 中扩展 html 类的推荐模式是什么?

转载 作者:太空宇宙 更新时间:2023-11-03 16:05:55 27 4
gpt4 key购买 nike

我关注 <tr>在我的表中标记

<% if user.company.nil? %>
<tr class="error">
<% else %>
<tr>
<% end %>
<td><%= user.name %></td>
</tr>

我想添加另一个 if 语句

<% if user.disabled? %>
<tr class="disabled">
<% end %>

所以当其中两个语句是 true我想收到:

<tr class="error disabled">

我知道我应该将其移至 helper,但如何为扩展类编写良好的案例陈述取决于此陈述?

最佳答案

def tr_classes(user)
classes = []
classes << "error" if user.company.nil?
classes << "disabled" if user.disabled?
if classes.any?
" class=\"#{classes.join(" ")}\""
end
end

<tr<%= tr_classes(user) %>>
<td><%= user.name %></td>
</tr>

但是好的风格是:

def tr_classes(user)
classes = []
classes << "error" if user.company.nil?
classes << "disabled" if user.disabled?
if classes.any? # method return nil unless
classes.join(" ")
end
end

<%= content_tag :tr, :class => tr_classes(user) do -%> # if tr_classes.nil? blank <tr>
<td><%= user.name %></td>
<% end -%>

关于ruby-on-rails - 在 View 中扩展 html 类的推荐模式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14027128/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com