Rails - 使用助手或部分
Rails - Use a Helper or a Partial
在我的文章模型中,我有 4 个不同的列:short_effects、long_effects、收益和备选方案。它们都是文本列。
在我看来,我用相同的基本格式调用每一个:
<% unless @article.short_effects.blank? %>
<hr id="effects">
<h2><span class="glyphicon glyphicon-hourglass"></span>Short-term side effects</h2>
<ul>
<% @article.short_effects.split(';').each do |effect| %>
<li><%= effect.downcase %></li>
<% end %>
</ul>
<% end %>
<% unless @article.long_effects.blank? %>
<hr id="effects2">
<h2><span class="glyphicon glyphicon-time"></span>Long-term side effects</h2>
<ul>
<% @article.long_effects.split(';').each do |effect| %>
<li><%= effect.downcase %></li>
<% end %>
</ul>
<% end %>
.
.
.
为了消除重复,我想创建一个 helper 或 partial...但是,我不知道哪种情况更适合这种情况。我知道有些人不喜欢 HTML 内部的助手,但由于助手用于从视图中减少代码,我觉得这可能是最好的方法。任何意见是极大的赞赏。
这里有一些关于这个的现有讨论。特别是,this 问题有多种(大部分是简短的)答案,您可能会考虑一些好的经验法则。我个人会属于 "minimize HTML in a helper" 思想流派,但是我也喜欢这样的描述:helpers 用于特定元素,而 partials 用于较大的代码块。
在我的文章模型中,我有 4 个不同的列:short_effects、long_effects、收益和备选方案。它们都是文本列。
在我看来,我用相同的基本格式调用每一个:
<% unless @article.short_effects.blank? %>
<hr id="effects">
<h2><span class="glyphicon glyphicon-hourglass"></span>Short-term side effects</h2>
<ul>
<% @article.short_effects.split(';').each do |effect| %>
<li><%= effect.downcase %></li>
<% end %>
</ul>
<% end %>
<% unless @article.long_effects.blank? %>
<hr id="effects2">
<h2><span class="glyphicon glyphicon-time"></span>Long-term side effects</h2>
<ul>
<% @article.long_effects.split(';').each do |effect| %>
<li><%= effect.downcase %></li>
<% end %>
</ul>
<% end %>
.
.
.
为了消除重复,我想创建一个 helper 或 partial...但是,我不知道哪种情况更适合这种情况。我知道有些人不喜欢 HTML 内部的助手,但由于助手用于从视图中减少代码,我觉得这可能是最好的方法。任何意见是极大的赞赏。
这里有一些关于这个的现有讨论。特别是,this 问题有多种(大部分是简短的)答案,您可能会考虑一些好的经验法则。我个人会属于 "minimize HTML in a helper" 思想流派,但是我也喜欢这样的描述:helpers 用于特定元素,而 partials 用于较大的代码块。