Hmm, I understand what you are saying, and that is indeed what I tried 
to do originally but because I am not loading the edit page first I am 
pretty sure I cannot use the form_for method.  The form_tag that I am 
using appears to parse the fields correctly however the data is not 
being processed correctly on the backend...

Parameters: {"commit"=>"Update", "action"=>"update", 
"barcode"=>"123456789", "checkout"=>"1", "controller"=>"books"}

I am able to type the barcode in and hit update but I am being taken to 
the update page rather than just processing the update method.  I know 
it is reading the hash correctly because if I change the barcode I am 
getting a nil value error.  Like you said, my form is simple (this is in 
my index.erb.html file),

<% form_tag(:action => "update") do -%>
  <fieldset>
  <legend>Process Return</legend>
  <label>Barcode</label><%= text_field_tag 'barcode' %><br>
  <label>Check Out?</label><%= check_box_tag 'checkout' %>
  </fieldset>
<p>
  <%= submit_tag "Update" %>
</p>
<% end -%>


You have already seen my controller; there isn't much here so I must be 
doing something pretty stupid...  Thanks,

Colin Law wrote:
> On 29 March 2010 19:00, Stephen None <[email protected]> wrote:
>> �def update
>>
>> � �...@barcode = params[:barcode]
>> � �...@checkout = params[:checkout]
>>
>> � �...@book = Book.find(:first, :conditions => {:barcode => [...@barcode]})
>>
>> � �[email protected]_attributes(params[:book])
>>
>> �end
> 
> Just use the same technique as on the edit page but miss out the
> fields that you do not wish to change.  Then submit to the existing
> update action, you do not need to change it as update_attributes only
> changes the fields that are provided, and leaves the others unchanged
> (I think that is correct, someone will correct me if I am wrong).
> Depending on how similar the required view is to the normal edit view
> you may even be able to use the same one, just hiding the fields you
> do not want.
> 
> By the way form_for is the conventional way now, rather than form_tag.
>  Your edit view will likely be using that unless you picked up the
> code from an old tutorial or book.
> 
> Colin

-- 
Posted via http://www.ruby-forum.com/.

-- 
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