problem with local variable in partial template

I am quite new at Ruby and Rails and this is stumping me:

I have in my rhtml file:

<ul> <%= render(:partial => "owner", :collection => @business.owners, :locals => { :that_value=> @params[:that_value] } ) %> </ul>

then in my partial:

<% if owner.id == that_value %>   <li><%= owner.name %> <%= owner.id %> <%= that_value%> </li> <% else %>   <li><%= owner.name %> <%= owner.id %> </li> <% end %> <%= owner.id == that_value%> <%=owner.id%> <%=that_value%>

owner.id == that_value evaluates to false every time, even when they are really the same.

Sample output:

Owner Number1 1 False 1 2 Owner Number2 2 False 2 2 Owner Number3 3 False 3 2

I am an old C guy and I keep thinking that there must be some typing error, like one of the "2" is a string and the other is an int, but I thought ruby has no types. I am pretty stumped, hopefully someone can help.

And if I change <% if owner.id == that_value %> to <% if owner.id <> that_value %> it fails.

It's really confusing because they both print out as being the same (in this case 2) but they don't compare to be equal with each other...