0

次の YML 形式の場合、URL をマップして、nav リストなどのコンポーネントを入力およびリンクできるようにすることは可能ですか、または推奨されますか?

次のように入力できます。

products:
  - Wizzy Widgets
  - Doohickeys
  - Thingamabobbers

次の ERB を介してレンダリングします (ファイルは /data/product_types.yml です)。

<% data.product_types.products.each do |product_type|  %>
<li><a href="#"><%= product_type %></a></li>
<% end %>

次のマークアップを出力する

<li><a href="#">Wizzy Widgets</a></li>
<li><a href="#">Doohickeys</a></li>
<li><a href="#">Thingamabobbers</a></li>

しかし、それもリンクできますか

products:
  - Wizzy Widgets:
    - url: "/wizzy-widgets"
  - Doohickeys:
    - url: "/doohickeys"
  - Thingamabobbers
    - url: "/thingamabobbers"

次のようにERBを介して:

<% data.product_types.products.each do |product_type, product_url|  %>
<li><a href="<%= product_url %>"><%= product_type %></a></li>
<% end %>

次のマークアップを出力するように?

<li><a href="/wizzy-widgets">Wizzy Widgets</a></li>
<li><a href="/doohickeys">Doohickeys</a></li>
<li><a href="/thingamabobbers">Thingamabobbers</a></li>

この特定の例が機能しないことはわかっています。私がやろうとしていることの例を挙げようとしています。これは悪い習慣ですか?もしそうなら、あなたはそれにどのようにアプローチしますか?

4

3 に答える 3

0

yml でハッシュを使用する

products:
  Wizzy Widgets:
    /wizzy-widgets
  Doohickeys:
    /doohickeys
  Thingamabobbers:
    /thingamabobbers

あなたの2番目の例のようにerb

<% data.product_types.products.each do |product_type, product_url|  %>
  <li><a href="<%= product_url %>"><%= product_type %></a></li>
<% end %>
于 2013-09-18T04:58:47.770 に答える