Partial vs. Helper - 今天的差异,但大多数是性能

时间:2012-08-21 09:23:41

标签: ruby-on-rails performance partial-views helper

我只是想在RubyOnRails 3.2.8中解决Partials和Helpers的困境。我是新人,是的,我试图找到,但每个答案都不清楚或超过2年。那是什么交易?

我想知道这段代码最适合用什么。帮手还是部分?

<td><%= User.where("id = ?", job.created_by_id).first.email %></td>
<td><%= job.document.to_s.from(53) %></td>
<td><%= job.translation_length %></td>
<td><%= job.translation_language %></td>
<td><%= job.cost %></td>
<td><%= job.translation_type %></td>
<td><%= job.comments %></td>
<td>
  <% if job.as_soon_as_possible.to_i.equal?(0) %>
      <%= job.due_to_date %>
  <% else %>
      ASAP
  <% end %>
</td>
<td><%= job.status %></td>

我已经使用了两者,两者都工作正常,但我不确定,如果它很好地保持部分。渲染部分和调用辅助方法之间的性能如何? 2岁时读一些关于它的东西,帮手似乎更快了。渲染部分是否有任何改进?

其次,我读过关于使用部分和帮助的内容,但是开发人员有很多意见。我是对的:助手正在使用包含更多ruby代码的片段和html以及带有html和少量ruby代码的Partials。 (根据这个想法,我上面的代码应该放在帮助下)?

2 个答案:

答案 0 :(得分:0)

我认为,辅助方法是针对特定的提议,它们提供统一和集中的路由生成,并允许避免构建一些重复的html结构(与模型对象结合或不结合)。而partial是页面的一部分,是一些语义独立的块。

答案 1 :(得分:0)

考虑你的代码。现在你可能列出了工作,假设这些代码重复了你创建部分的多个地方,比如添加/更新记录有相同的字段,所以创建形式部分

现在,下面的代码将返回作业截止日期或ASAP

<td>
  <% if job.as_soon_as_possible.to_i.equal?(0) %>
      <%= job.due_to_date %>
  <% else %>
      ASAP
  <% end %>
</td>

因此,根据需要创建将返回截止日期或ASAP的帮助程序。

部分和帮助之间还有很多区别。如果我找到一些有用的文章,我会与你分享。