On 5 April 2010 21:46, dirtbug <[email protected]> wrote:
> Thanks for the reply. I've now fixed the html (removed the table), but
> it didn't fix the problem. The edit view is:
> <h1>Editing orf</h1>
> <% form_for @orf do |f| %>
>  <%= f.error_messages %>
>  <%= h @orf.locus_tag %>
>  <%= f.text_field 'current_annotation', :size => 50  %>
>  <%= f.submit "Update" %>
>  <%= button_to "Undo last change", :action => :undo_last_change, :id
> => @orf %>
> <% end %>
>
> I'm not sure what you mean about taking a look at the raw data posted
> by the browser to see if it is malformed. I turned on Firebug and
> looked at what it was trying to do when I pressed my "Update" button
> and I don't see anything wrong. It shows:

Try the html validator addon for firefox as I suggested, or/and the
w3c html validator (google will find it).  Then you know your html is
valid.

Then have a look at the debugging guide at
http://guides.rubyonrails.org/ which will show how to break into your
code using ruby-debug (and other debugging techniques) to find out
what is going wrong.  Also have a look at the params in the log and
convince yourself the data are there as expected.

Colin

Colin

>
> _method put
> commit  Update
> orf[current_annotation] hypothetical proteinski
>
> That looks OK to me , but I don't really know what I should be looking
> for. I was trying to change the current_annotation from hypothetical
> protein to hypothetical proteinski, so it looks like it tried.  But
> the change doesn't happen.  Any suggestion of how to troubleshoot this
> further?
>
> On Apr 2, 4:56 pm, Frederick Cheung <[email protected]>
> wrote:
>> On Apr 2, 6:23 pm,dirtbug<[email protected]> wrote:> I have an update 
>> button that doesn't update.  Watching the server
>> > during the attempt, I see:
>>
>> > Processing OrvesController#update (for 128.119.60.171 at 2010-04-02
>> > 13:13:29) [PUT]
>> >   Parameters: {"orf"=>nil, "commit"=>"Update", "id"=>"19544"}
>>
>> > orf is my model I'm trying to update in the database.  Why is it nil?
>>
>> It's probably worth taking a look at the raw data posted by the
>> browser - if it is malformed in some way that could be causing rails
>> to parse it in a funny way. It probably doesn't help that your html is
>> malformed (a td must be contained in a tr or similar, i'm pretty sure
>> you can't stick a form in a table like that and the button_to will
>> create a second form (ie you'll have a form nested in another form)
>>
>> Fred
>>
>> > The view for the page with the update button is called edit.html.erb
>> > and contains:
>>
>> > <h1>Editing orf</h1>
>> > <table>
>> >         <% form_for @orf do |f| %></td>
>> >           <td><%= f.error_messages %>
>> >           <td><%= h @orf.locus_tag %></td>
>> >           <td><%= f.text_field 'current_annotation', :size => 50  %></td>
>> >                 <td><%= f.submit "Update" %></td>
>> >                 <td><%= button_to "Undo last change", :action
>> > => :undo_last_change, :id => @orf %></td>
>> >         <% end %>
>>
>> > orf's attributes locus_tag and current_annotation are being correctly
>> > displayed.
>>
>> > Here's the update method:
>>
>> >   def update
>> >     @orf = Orf.find(params[:id])
>> >     if @orf.update_attributes(params[:orf])
>> >       flash[:notice] = 'Orf was successfully updated.'
>> >       redirect_to orf_path
>> >     else
>> >       flash[:notice] = 'Update failed.'
>> >       redirect_to orf_path
>> >     end
>> >   end
>>
>> > routes.rb contains the line:
>> >   map.resources :orves
>>
>> > No error message appears in the web browser.  The update just doesn't
>> > change anything.
>>
>> > I'm running Rails 2.3.0.
>>
>> > Any idea what I'm doing wrong?
>
> --
> You received this message because you are subscribed to the Google Groups 
> "Ruby on Rails: Talk" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to 
> [email protected].
> For more options, visit this group at 
> http://groups.google.com/group/rubyonrails-talk?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en.

Reply via email to