0

これは、13 ページのタイトルの配列 (配列だと思います) を生成するコードです。ドロップダウン メニューでは、タイトル 0 ~ 5 を独自の div に、6 ~ 8 を 2 番目の div に、9 ~ 12 を 3 番目の div に配置したいと考えています。ここでこの正確な質問/回答を見つけることができませんでした。

<% @cms_site.pages.root.children.published.each. do |page| %>
  <%= link_to page.label, page.full_path %>
<% end %>

ありがとうございました!

4

2 に答える 2

1

何を試みましたか?#eachこの場合はあまり良い使い方ではありません。次のように、3 つの異なるループに分割することができます。

<% @cms_site.pages.root.children.published[0,5].each do |page| %>
  <%= link_to page.label, page.full_path %>
<% end %>

<% @cms_site.pages.root.children.published[6,8].each do |page| %>
  <%= link_to page.label, page.full_path %>
<% end %>

<% @cms_site.pages.root.children.published[9,12].each do |page| %>
  <%= link_to page.label, page.full_path %>
<% end %>

編集 論理的な問題があるようです。少なくとも最初に試してみることをお勧めします。

そこのコードは機能するはずですが、実際には DRY ではなく、イテレータにチャプターを使用するか、別のイテレータ (例: each_with_index) を使用してブロック内の各インデックスのチェックを処理するヘルパー メソッドに抽出できます。あなたが求めたことを実行する方法はたくさんあります。

于 2013-09-21T19:10:37.990 に答える