0

我只是想解决 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 岁时阅读一些关于它的内容,帮助者似乎要快得多。渲染局部有什么改进吗?

其次,我阅读了有关使用 partials 和 helpers 的内容,但是开发人员有很多意见。我说得对吗:助手正在使用包含更多带有 html 的 ruby​​ 代码和带有 html 的 Partials 和少量 ruby​​ 代码的片段。(根据这个想法,我上面的代码应该放在helper 中)?

4

2 回答 2

0

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

于 2012-08-21T09:31:04.457 回答
0

考虑您的代码。现在您可能列出工作,假设这些代码重复多个您创建部分的地方,例如添加/更新记录具有相同的字段,因此创建表单部分

现在,下面的代码将返回工作截止日期或尽快

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

因此,根据需要创建将返回截止日期或尽快返回的助手。

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

于 2012-08-21T09:32:31.407 回答