form_for Values Are Not Visible

I’m using this form in an edit page to update a person. For some weird reason, when I view this form in the browser… The text field’s value is set to the person’s firstname, but it does not display in the browser.

The form works perfectly on Windows (the values are visible in the browser), but not on Ubuntu Linux. I’m using the same environment setup; same Ruby, Rails, and gems versions…

<% form_for @person do |f| %>

<label for="person_firstname">First Name</label> <%= text_field :person, :firstname, :class => "textbox", :size => "30%" %>
<br />
<%= submit_tag "Update Person", :class => "button button-right" %>

<% end %>

Hi Joshua,

If you are getting different display in different browsers then it is quite likely you have invalid html. Copy the complete text of the page (View, Page source or simiilar in browser) and paste into the w3c html validator (google will find it). Alternatively install the great html validator plugin for firefox which will check it for you as you develop.

Colin

You might need to keep that nickel Bill (:

I’ve removed all the :size elements from the form and validated the page XHTML strict using W3C’s validator.

Yet, the values are not displayed. The values are in the HTML, just not being displayed in the text boxes and text area for some reason. On a related note, I have a drop down and it’s value IS set to the object’s attribute.

You might need to keep that nickel Bill (:

I've removed all the :size elements from the form and validated the page XHTML strict using W3C's validator.

Yet, the values are not displayed. The values are in the HTML, just not being displayed in the text boxes and text area for some reason. On a related note, I have a drop down and it's value IS set to the object's attribute.

Could you put the (complete) html somewhere so we can have a look? Strip out everything you can first.

Colin

I feel quite stupid now… Apparently, I had some JQuery for a search textbox whose job involved incorrectly blanking out all input:text in the page… Didn’t realize it until I simplified the page as much as possible.

Definitely won’t make this mistake again (:

That would do it.

Meanwhile, if you are using form_for, you should do this: <%= f.text_field :first_name %>

The f knows it refers to the person record because you told it so with form_for...