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...