# Mysterious spaces in output

**URL:** <https://www.ruby-forum.com/t/mysterious-spaces-in-output/148397>\
**Category:** Rails\
**Created:** [September 12, 2008, 2:24pm UTC](https://www.ruby-forum.com/t/mysterious-spaces-in-output/148397 "2008-09-12T14:24:15Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![yachtman](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/y/d07c76/32.png) [@yachtman](https://www.ruby-forum.com/u/yachtman)\
**Post date:** [September 12, 2008, 2:24pm UTC](https://www.ruby-forum.com/t/mysterious-spaces-in-output/148397/1 "2008-09-12T14:24:15Z")

</div>

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](http://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 %\>

---

<div class="post-metadata">

**Author:** ![yachtman](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/y/d07c76/32.png) [@yachtman](https://www.ruby-forum.com/u/yachtman)\
**Post date:** [September 12, 2008, 2:28pm UTC](https://www.ruby-forum.com/t/mysterious-spaces-in-output/148397/2 "2008-09-12T14:28:56Z")

</div>

> > %w(foo bar baz).to\_sentence  
> > =\> “foo, bar, and baz”

---

<div class="post-metadata">

**Author:** ![yachtman](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/y/d07c76/32.png) [@yachtman](https://www.ruby-forum.com/u/yachtman)\
**Post date:** [September 12, 2008, 2:30pm UTC](https://www.ruby-forum.com/t/mysterious-spaces-in-output/148397/3 "2008-09-12T14:30:43Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![yachtman](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/y/d07c76/32.png) [@yachtman](https://www.ruby-forum.com/u/yachtman)\
**Post date:** [September 12, 2008, 2:38pm UTC](https://www.ruby-forum.com/t/mysterious-spaces-in-output/148397/4 "2008-09-12T14:38:19Z")

</div>

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

This does a beautiful job:

@reviews.collect {|r| r.retailer.name}.to\_sentence

---

<div class="post-metadata">

**Author:** ![yachtman](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/y/d07c76/32.png) [@yachtman](https://www.ruby-forum.com/u/yachtman)\
**Post date:** [September 12, 2008, 2:31pm UTC](https://www.ruby-forum.com/t/mysterious-spaces-in-output/148397/5 "2008-09-12T14:31:53Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![yachtman](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/y/d07c76/32.png) [@yachtman](https://www.ruby-forum.com/u/yachtman)\
**Post date:** [September 12, 2008, 2:47pm UTC](https://www.ruby-forum.com/t/mysterious-spaces-in-output/148397/6 "2008-09-12T14:47:06Z")

</div>

On Fri, Sep 12, 2008 at 2:30 PM, yachtman [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

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

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

---

<div class="post-metadata">

**Author:** ![yachtman](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/y/d07c76/32.png) [@yachtman](https://www.ruby-forum.com/u/yachtman)\
**Post date:** [September 16, 2008, 8:23pm UTC](https://www.ruby-forum.com/t/mysterious-spaces-in-output/148397/7 "2008-09-16T20:23:17Z")

</div>

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

–Matt J.
