Best Practice: render :partial

I have been using "render :partial" throughout my application but have
just realised that I am perhaps not using it in the way intended.

I am for example referencing instance variables directly within my
partial and not passing them as either an :object or a local variable
(:locals). On reflection, this seems bad practice.

For example, I have a partial called
"property_name" ("_property_name.rhtml") that renders a text input

<% if @property.class == PropertyCollection %>
  <p><label for="property_name">What would you like to call this
<% else %>
  <p><label for="property_name">What would you like to call this?</


<% end %>
<%= text_field :property, :name %></p>

I wrote this as a partial because I use it within both create and edit
forms, and I wanted to avoid duplication.

As you can see I am currently referring to @property.

Any advice on how I might refactor the above would be much