Adding

127.0.0.1 project.dev

to the top of /etc/hosts and accessing the page using it solved the 
problem immediately. I had cleared the content of the form and 
refreshed (in Firefox), but didn't know about Ctrl-F5. Does that do 
the same as Shift+(Reload)?

I'll replace @content_for_layout with yield when the client wants to 
pay for it. :)  Oh, hell, it's just one line, I'll just do it. Same 
with the doc type, I'll change it to transitional and get it in line 
at http://validator.w3.org/.

Thanks to all.

Scott


At 09:51 AM 8/25/2009, you wrote:

>I'm maintaining a Rails 2.0 app for a non-profit. I've added a text 
>field to the user model to hold a note. I want the contents of the 
>current user's note field to populate the form so it can be modified 
>if desired.
>
>My understanding is that is what Rails does by default. I've removed 
>almost everything from the layout and view (a comment in layout.rb 
>says: NOTE: The old notation for rendering the view from a layout 
>was to expose the magic <tt>@content_for_layout</tt> instance 
>variable. The preferred notation now is to use <tt>yield</tt>, as 
>documented above.)
>
>Here's the layout:
>
><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
>"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd";>
><html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en" lang="en">
><head>
>         <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
></head>
><body>
><div id="content">
>   <%= @content_for_layout %>
></div>
></body>
></html>
>
>Here's the view:
>
><% form_for :user, @user, :url => { :action => "save_notes", :id => 
>@user.id }, :id => "save_notes", :class => "notes" do |form| %>
>   <%= form.text_field :notes %>
>   <%= submit_tag("Save", :style => 'float:right;margin-right:1em;') %>
><% end %>
>
>Here's the HTML. Note there is no CSS or Javascript:
>
><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
>"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd";>
><html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en" lang="en">
><head>
><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
></head>
><body>
><div id="content">
>   <form action="/admin/members/save_notes/3782" method="post">
>     <input id="user_notes" name="user[notes]" size="30" type="text" 
> value="This is a test." />
>     <input name="commit" type="submit" value="Save" />
>   </form>
></div>
></body>
></html>
>
>The problem occurs when this page is displayed on localhost, running 
>under development. The text field is not populated with 'This is a 
>test' in Firefox under Linux.
>
>If I copy the HTML to a file and browse to that, it is populated.
>
>If I run the app under OnCloud.org (what a great way to show clients 
>work-in-progress) and view from either Linux or Windoze, the field 
>is populated.
>
>Why isn't the field populated when the app is accessed via localhost?
>
>Thanks,
>
>Scott
>
>
--~--~---------~--~----~------------~-------~--~----~
SD Ruby mailing list
[email protected]
http://groups.google.com/group/sdruby
-~----------~----~----~----~------~----~------~--~---

Reply via email to