2012-04-27 11 views
1

私はhtmlテーブルを介して出力したい画像のハッシュを持っています。Railsはx * y行のhtmlにハッシュを出力します

これはPHPで行った基本的な作業ですが、私はそれを簡単に達成するためにルビーが何をすることができるかを見たいと思います。

私はヘルパーとチュートリアルを見てきましたが、それらはすべて非常に複雑です。

ここで私はイメージを現在印刷しています。どのようにして4 x nテーブルのようなものに変換すると変換できますか?

<% @photos.each do |photo| %> 

    <%= image_tag photo["images"][4]["source"] %><br/> 

    <% end %> 

答えて

1

each_sliceメソッドを見ると、指定したサイズのグループで配列を取得できます。あなたは何かのようにできるはずです

<table> 
<% @photos.each_slice(4) do |group| %> 
     <tr> 
     <%group.each do |photo|%> 
      <td> 
      <%= image_tag photo["images"][4]["source"] %> 
      <td> 
     <% end %> 
     </tr> 
<% end %> 
</table> 
0

私はin_groups_ofはあなたを助けるかもしれないと思う:

<table> 
<% @photos.in_groups_of(4, false) do |photos| %> 
    <tr> 
    <% photos.each do |photo| %> 
     <td><%= image_tag photo["images"][4]["source"] %></td> 
    <% end %> 
    </tr> 
<% end %> 
</table> 

を2番目の引数としてfalseを渡すことで、最後の行が不完全であるかもしれません。空の画像を代わりに表示したい場合は、空の写真オブジェクト(URIがウェブサイトが使用している空の画像を指していることを前提とします)を渡すか、写真配列がURIの配列のみの場合は直接URIを渡すことができます。

+0

こんにちは、私は以前in_groups_ofを使ってみましたが、それは未定義の方法や何かをスローします..ありがとう。 – conor

関連する問題