我只是想在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。 (根据这个想法,我上面的代码应该放在帮助下)?
答案 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的帮助程序。
部分和帮助之间还有很多区别。如果我找到一些有用的文章,我会与你分享。