Mysterious spaces in output

Here is a probably an easy output formatting problem.

I am trying to output a sentence that uses commas between each item
(retailer) and a period once there are no more items.

The problem is, I can’t remove the space before my commas in the
output. I’ve tried putting the html in quotes, but for some reason the
html injects a space between my variable output and the following
text. How can I solve this?

The second problem is my variable count increments correctly, but it
does not trigger the ‘else’. Any ideas why?

the output

…Write a review on Amazon.com , and GAP , and Limited ,

the view

<% for review in @reviews -%>
<% count += 1 -%>
<%= link_to review.retailer.name, retailer_path(review) -%>
<%= if count == @reviews
', ’
else
', and ’
end -%>
<% end %>

%w(foo bar baz).to_sentence
=> “foo, bar, and baz”

What a nice nugget! Could you enlighten me as to what the %w does?

Xavier, Thanks! You put me on the right path…

This does a beautiful job:

@reviews.collect {|r| r.retailer.name}.to_sentence

How could I use a hash with ‘.to_sentence’. I don’t have set
variables, and I don’t know how many I’ll have.

On Fri, Sep 12, 2008 at 2:30 PM, yachtman [email protected] wrote:

What a nice nugget! Could you enlighten me as to what the %w does?

It is shorthand for [‘foo’, ‘bar’, ‘baz’].

FYI, the extra spaces were from the indentation of each line of ERB.

–Matt J.