On Jun 14, 2011, at 10:46 AM, Sta Canovist wrote:
2011/6/14 Walter Davis <wa...@wdstudio.com>
This looks like the path you want to post your form results to, but
if this is a POST, you should be hitting :action => 'update' rather
than 'edit'.
To load the form that you will fill with new data for your update,
you would have a matching route that used GET, and hit :action =>
'edit'.
If you don't want to use REST conventions (GET to load the edit,
form POST to accept the update) then you need to get out of that end
of the pool and use older-style non-RESTful routes, which you can
spot by their dangling ids:
/admin/accounts/2/portals/edit/4
Have a look at the very bottom of your routes file for comments
about configuring those, I'm not sure what the syntax would be in
Rails 3, haven't done those since Rails 2.
Walter
Well, I dont care very much how. The thing is that create and edit
will be called from another application through curl. So I will
never need to go to the presentation page for edit and create. It is
just enough that there will be route for when the form is posted.
As I said, it works for create. But not for edit. I wonder why it
works for create but not edit.
So you say the only solution is to add a custom route? Do you mean
that kind of routes like:
# This is a legacy wild controller route that's not recommended for
RESTful applications.
# Note: This route will make all actions in every controller
accessible via GET requests.
# match ':controller(/:action(/:id(.:format)))'
If yes: But this talks about GET, hoe can I make t work for POST?
There's the nut of the problem right there. You don't ever want to
POST to the 'edit' route. You want to POST to the 'update' route. So
if your curl application is already aware of the format of the element
you're updating, all you need to do is POST to 'update' and everything
will Just Workâ˘. You only ever hit the (GET) 'edit' route when you
want to receive back a populated form, ready for editing. That form is
set to POST to the 'update' route.
The reason why 'create' works for you now is because when you want to
create a new widget in Rails, you GET the 'new' route, which returns
an empty form ready for completion, and that form POSTs to the
'create' route.
Walter
--
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 rubyonrails-
t...@googlegroups.com.
To unsubscribe from this group, send email to rubyonrails-talk+unsubscr...@googlegroups.com
.
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 rubyonrails-talk@googlegroups.com.
To unsubscribe from this group, send email to
rubyonrails-talk+unsubscr...@googlegroups.com.
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en.