Hi,
I have been working to convert the following into a helper method, I
just cant seem to get it right.
Here is what I use now:
=================================================<table
cellspacing="0" cellpadding="0" border="0"
class="product_tile_all">
<% @products.in_groups_of(3) do |row| %>
<tr>
<% row.each do |product| %>
<td align="center" class="product_tile_medium">
<% @product = product %>
<div style="background-image:url(<%
@product.public_filename(:medium) %>);">
<div>
<%= image_tag(''overlays/border_medium.gif'') %>
</div>
<div class="icon_add_medium">
<%= link_to image_tag ("icons/add.png"),
:action => "add_to_cart", :id => product %>
</div>
<div class="icon_info_medium">
<%= link_to image_tag ("icons/information.png"),
:action => "info", :id => product %>
</div>
</div>
</td>
<% end -%>
</tr>
<% end -%>
</table>
=================================================
What I am trying to do is create a help that takes 3 things, my
@products, the size I desire (above its medium) and finally the
in_groups_of param.
Any hints on how to get started in constructing this?
Thanks
--
Posted via http://www.ruby-forum.com/.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Ruby on Rails: Talk" group.
To post to this group, send email to
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---
This is the closest I have gotten, can anyone help?
def render_product_tiles(products, options = {})
size = options[:size]
amount = options[:groups]
"<table cellspacing=\"0\" cellpadding=\"0\"
border=\"0\"
class=\"product_tile_all\">"
products.in_groups_of(amount) do |row|
"<tr>"
row.each do |product|
"<td align=\"center\"
class=\"product_tile_#{size}\">"
@product = product
"<div style=\"background-image:url(<%=
@product.cover.public_filename(:#{size}) %>);\">"
"<div>"
image_tag(''overlays/border_#{size}.gif'')
"</div>"
"<div class=\"icon_add_#{size}\">"
link_to image_tag ("icons/add.png"), :action =>
"add_to_cart", :id => product
"</div>"
"<div class=\"icon_info_#{size}\">"
link_to image_tag ("icons/information.png"), :action
=>
"album", :id => product
"</div>"
"</div>"
"</td>"
end
"</tr>"
end
"</table>"
end
--
Posted via http://www.ruby-forum.com/.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Ruby on Rails: Talk" group.
To post to this group, send email to
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---
Is there any reason you are doing this as a helper rather than either a.) a partial or b.) a helper with a partial? V/r Anthony Eden On 12/3/06, Shai Shefer <rails-mailing-list-ARtvInVfO7ksV2N9l4h3zg@public.gmane.org> wrote:> > This is the closest I have gotten, can anyone help? > > def render_product_tiles(products, options = {}) > size = options[:size] > amount = options[:groups] > "<table cellspacing=\"0\" cellpadding=\"0\" border=\"0\" > class=\"product_tile_all\">" > products.in_groups_of(amount) do |row| > "<tr>" > row.each do |product| > "<td align=\"center\" class=\"product_tile_#{size}\">" > @product = product > "<div style=\"background-image:url(<%> @product.cover.public_filename(:#{size}) %>);\">" > > "<div>" > image_tag(''overlays/border_#{size}.gif'') > "</div>" > > "<div class=\"icon_add_#{size}\">" > link_to image_tag ("icons/add.png"), :action => > "add_to_cart", :id => product > "</div>" > > "<div class=\"icon_info_#{size}\">" > link_to image_tag ("icons/information.png"), :action => > "album", :id => product > "</div>" > > "</div>" > "</td>" > end > "</tr>" > end > "</table>" > end > > -- > Posted via http://www.ruby-forum.com/. > > > >-- Cell: 808 782-5046 Current Location: Melbourne, FL --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
> Shai Shefer wrote:>> This is the closest I have gotten, can anyone help? >> >> def render_product_tiles(products, options = {}) >> size = options[:size] >> amount = options[:groups] >> "<table cellspacing=\"0\" cellpadding=\"0\" border=\"0\" >> class=\"product_tile_all\">" >> products.in_groups_of(amount) do |row| >> "<tr>"I don''t get it. I didn''t know you could generate HTML using unassigned strings like that. Why aren''t you using xml = Builder::XmlMarkup.new ? That would go...>> row.each do |product|xml.td :align => :center, :class => "product_tile_#{size}" do>> @product = productxml.div :style => "etc..." end When you finish, extract the accreted string with xml.target! DRY now becomes a matter of refactoring and squeezing down the xml calls, as raw Ruby. Use my assert_xpath() trick to test that while you squeeze it... If you don''t need this, my post rests in the archives for others to learn from... -- Phlip http://www.greencheese.us/ZeekLand <-- NOT a blog!!! --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Anthony Eden wrote:> Is there any reason you are doing this as a helper rather than either > a.) a partial or b.) a helper with a partial?Helper is just the first thing that came to mind, if you have a better suggesttion as to how I should approach it, I would definitely be interested. -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---