0

RubyOnRails 3.2.8 のパーシャルとヘルパーのジレンマを解決しようとしています。私は新しく、はい、見つけようとしましたが、すべての答えが明確ではないか、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 歳の何かを読むと、ヘルパーの方がずっと速いように見えました。部分レンダリングの改善はありますか?

次に、パーシャルとヘルパーの使用について読みましたが、開発者の意見がたくさんあります。正しいですか : ヘルパーは、html を含むより多くの ruby​​ コードと、html を含むパーシャルと少量の ruby​​ コードを含むスニペットを使用しています。(この考えによれば、上記のコードはヘルパーに配置する必要があります)?

4

2 に答える 2

0

コードを検討してください。おそらくジョブをリストしているでしょう。これらのコードが、レコードの追加/更新のように、部分的に作成した複数の場所を繰り返すと仮定して、フォーム部分を作成します

ここで、以下のコードはジョブの期日または ASAP を返します

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

そのため、必要に応じて期日またはできるだけ早く返すヘルパーを作成します。

パーシャルとヘルパーにはさらに多くの違いがあります。役立つ記事を見つけたら、共有します。

于 2012-08-21T09:32:31.407 に答える
0

ヘルパーメソッドは特定の提案のためのものであり、ルートの均一で集中的な生成を提供し、いくつかの繰り返しの html 構造を構築することを避けることができます (モデルオブジェクトと組み合わせて、または組み合わせて)。そしてパーシャルはページの一部であり、意味的に独立したブロックです。

于 2012-08-21T09:31:04.457 に答える