Webrat is a lovely testing tool, particularly when used with Cucumber.  But every time I put it aside for a few weeks, when I come back to it, I forget about this…


And I fill in "name" with "John Doe"
Could not find field: "name" (Webrat::NotFoundError)


but when I go to the .html.erb file, I see the field, plainly defined:


<%= f.text_field :name %>


So why doesn’t webrat find the field?  Because the field is NOT named "name".  It is named "user_name".  This is because it is wrapped inside


<% form_for :user, :url => users_path do |f| -%>


Because of the form_for, all field names get prefixed with the form name.

­