Hello I have this in my route.rb namespace :admin do resources :accounts do resources :portals do post ''create'' post ''edit'' post ''show'' end end end Actually, from the beginning it looked like this: namespace :admin do resources :accounts do resources :portals end end Before, but even now, when I go to /admin/accounts/1/portals Then the method named create was executed. Even when I go to /admin/accounts/1/portals/create the same method is executed I need now to execute the method edit If I try to call it with GET, then it works. So pasting in the browser /admin/accounts/1/portals/edit works. But the thing is that this should be a POST. So when I try to access this page, with curl, specifying it is a POST, then I get a Routing Error No route matches "/admin/accounts/1/portals/edit" So it didnt help putting the specific route with post and get into the admin-portals-resource. What is wrong? Maybe a simple thing, but Im very unexperienced in ROR. Thanks. -- 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
On Jun 14, 2011, at 8:17 AM, Sta Canovist wrote:> Hello > > I have this in my route.rb > > namespace :admin do > resources :accounts do > resources :portals do > post ''create'' > post ''edit'' > post ''show'' > end > end > end > > Actually, from the beginning it looked like this: > > namespace :admin do > resources :accounts do > resources :portals > end > end > > Before, but even now, when I go to > /admin/accounts/1/portals > > Then the method named create was executed. > Even when I go to /admin/accounts/1/portals/create > the same method is executed > > I need now to execute the method edit > > If I try to call it with GET, then it works. So pasting in the > browser > /admin/accounts/1/portals/edit > > works. > > But the thing is that this should be a POST. So when I try to access > this page, with curl, specifying it is a POST, then I get a > > Routing Error > > No route matches "/admin/accounts/1/portals/edit" > > So it didnt help putting the specific route with post and get into the > admin-portals-resource. > > What is wrong? Maybe a simple thing, but Im very unexperienced in ROR. > Thanks. > >What do you see when you type rake routes (from inside your project root) in your terminal? 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- > talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org > To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org > . > 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
2011/6/14 Walter Davis <waltd-HQgmohHLjDZWk0Htik3J/w@public.gmane.org>> > What do you see when you type rake routes (from inside your project root) > in your terminal? > > >Well, I get an error sigh: rake aborted! You have already activated rake 0.9.1, but your Gemfile requires rake 0.8.7. Consider using bundle exec. /usr/local/lib/ruby/gems/1.8/gems/bundler-1.0.14/lib/bundler/runtime.rb:31:in `setup'' /usr/local/lib/ruby/gems/1.8/gems/bundler-1.0.14/lib/bundler/spec_set.rb:12:in `each'' /usr/local/lib/ruby/gems/1.8/gems/bundler-1.0.14/lib/bundler/spec_set.rb:12:in `each'' /usr/local/lib/ruby/gems/1.8/gems/bundler-1.0.14/lib/bundler/runtime.rb:17:in `setup'' /usr/local/lib/ruby/gems/1.8/gems/bundler-1.0.14/lib/bundler.rb:107:in `setup'' /Users/alfredocapasso/Sites/git/zoomvision/flash-wip/config/boot.rb:8 /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require'' /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in `require'' /Users/alfredocapasso/Sites/git/zoomvision/flash-wip/config/application.rb:1 /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require'' /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in `require'' /Users/alfredocapasso/Sites/git/zoomvision/flash-wip/Rakefile:4 /usr/local/lib/ruby/gems/1.8/gems/rake-0.9.1/lib/rake/rake_module.rb:25:in `load'' /usr/local/lib/ruby/gems/1.8/gems/rake-0.9.1/lib/rake/rake_module.rb:25:in `load_rakefile'' /usr/local/lib/ruby/gems/1.8/gems/rake-0.9.1/lib/rake/application.rb:495:in `raw_load_rakefile'' /usr/local/lib/ruby/gems/1.8/gems/rake-0.9.1/lib/rake/application.rb:78:in `load_rakefile'' /usr/local/lib/ruby/gems/1.8/gems/rake-0.9.1/lib/rake/application.rb:129:in `standard_exception_handling'' /usr/local/lib/ruby/gems/1.8/gems/rake-0.9.1/lib/rake/application.rb:77:in `load_rakefile'' /usr/local/lib/ruby/gems/1.8/gems/rake-0.9.1/lib/rake/application.rb:61:in `run'' /usr/local/lib/ruby/gems/1.8/gems/rake-0.9.1/lib/rake/application.rb:129:in `standard_exception_handling'' /usr/local/lib/ruby/gems/1.8/gems/rake-0.9.1/lib/rake/application.rb:59:in `run'' /usr/local/lib/ruby/gems/1.8/gems/rake-0.9.1/bin/rake:32 /usr/local/bin/rake:19:in `load'' /usr/local/bin/rake:19 -- 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
On Jun 14, 2011, at 9:42 AM, Sta Canovist wrote:> 2011/6/14 Walter Davis <waltd-HQgmohHLjDZWk0Htik3J/w@public.gmane.org> > > What do you see when you type rake routes (from inside your project > root) in your terminal? > > > > Well, I get an error sigh: > > rake aborted!Cue Mythbusters theme music: "Well, there''s your problem right there..." Walter> You have already activated rake 0.9.1, but your Gemfile requires > rake 0.8.7. Consider using bundle exec. > /usr/local/lib/ruby/gems/1.8/gems/bundler-1.0.14/lib/bundler/ > runtime.rb:31:in `setup'' > /usr/local/lib/ruby/gems/1.8/gems/bundler-1.0.14/lib/bundler/ > spec_set.rb:12:in `each'' > /usr/local/lib/ruby/gems/1.8/gems/bundler-1.0.14/lib/bundler/ > spec_set.rb:12:in `each'' > /usr/local/lib/ruby/gems/1.8/gems/bundler-1.0.14/lib/bundler/ > runtime.rb:17:in `setup'' > /usr/local/lib/ruby/gems/1.8/gems/bundler-1.0.14/lib/bundler.rb: > 107:in `setup'' > /Users/alfredocapasso/Sites/git/zoomvision/flash-wip/config/boot.rb:8 > /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in > `gem_original_require'' > /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in > `require'' > /Users/alfredocapasso/Sites/git/zoomvision/flash-wip/config/ > application.rb:1 > /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in > `gem_original_require'' > /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in > `require'' > /Users/alfredocapasso/Sites/git/zoomvision/flash-wip/Rakefile:4 > /usr/local/lib/ruby/gems/1.8/gems/rake-0.9.1/lib/rake/rake_module.rb: > 25:in `load'' > /usr/local/lib/ruby/gems/1.8/gems/rake-0.9.1/lib/rake/rake_module.rb: > 25:in `load_rakefile'' > /usr/local/lib/ruby/gems/1.8/gems/rake-0.9.1/lib/rake/application.rb: > 495:in `raw_load_rakefile'' > /usr/local/lib/ruby/gems/1.8/gems/rake-0.9.1/lib/rake/application.rb: > 78:in `load_rakefile'' > /usr/local/lib/ruby/gems/1.8/gems/rake-0.9.1/lib/rake/application.rb: > 129:in `standard_exception_handling'' > /usr/local/lib/ruby/gems/1.8/gems/rake-0.9.1/lib/rake/application.rb: > 77:in `load_rakefile'' > /usr/local/lib/ruby/gems/1.8/gems/rake-0.9.1/lib/rake/application.rb: > 61:in `run'' > /usr/local/lib/ruby/gems/1.8/gems/rake-0.9.1/lib/rake/application.rb: > 129:in `standard_exception_handling'' > /usr/local/lib/ruby/gems/1.8/gems/rake-0.9.1/lib/rake/application.rb: > 59:in `run'' > /usr/local/lib/ruby/gems/1.8/gems/rake-0.9.1/bin/rake:32 > /usr/local/bin/rake:19:in `load'' > /usr/local/bin/rake:19 > > > > -- > 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org > To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org > . > 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
2011/6/14 Walter Davis <waltd-HQgmohHLjDZWk0Htik3J/w@public.gmane.org>> > > Cue Mythbusters theme music: "Well, there''s your problem right there..." > >Ok, running bundle exec rake routes solves the problem. Now I can see all the routes. There are a lot. Those related to my problem are: portal_edit POST /admin/accounts/:account_id/portals/:portal_id/edit(.:format) {:action=>"edit", :controller=>"admin/portals"} edit_portal GET /portals/:id/edit(.:format) {:action=>"edit", :controller=>"portals"} edit_admin_account_portal GET /admin/accounts/:account_id/portals/:id/edit(.:format) {:action=>"edit", :controller=>"admin/portals"} edit_admin_account GET /admin/accounts/:id/edit(.:format) {:action=>"edit", :controller=>"admin/accounts"} Does this tell you somthing? -- 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
On Jun 14, 2011, at 10:02 AM, Sta Canovist wrote:> 2011/6/14 Walter Davis <waltd-HQgmohHLjDZWk0Htik3J/w@public.gmane.org> > > > Cue Mythbusters theme music: "Well, there''s your problem right > there..." > > > Ok, running bundle exec rake routes solves the problem. > Now I can see all the routes. There are a lot. > Those related to my problem are: > > portal_edit > POST > /admin/accounts/:account_id/portals/:portal_id/edit(.:format) > {:action=>"edit", :controller=>"admin/portals"} >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> edit_portal > GET > /portals/:id/edit(.:format) > {:action=>"edit", :controller=>"portals"} > > edit_admin_account_portal > GET > /admin/accounts/:account_id/portals/:id/edit(.:format) > {:action=>"edit", :controller=>"admin/portals"} > > edit_admin_account > GET > /admin/accounts/:id/edit(.:format) > {:action=>"edit", :controller=>"admin/accounts"} > > > Does this tell you somthing? > > -- > 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org > To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org > . > 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
2011/6/14 Walter Davis <waltd-HQgmohHLjDZWk0Htik3J/w@public.gmane.org>> 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? -- 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
On Jun 14, 2011, at 10:46 AM, Sta Canovist wrote:> > > 2011/6/14 Walter Davis <waltd-HQgmohHLjDZWk0Htik3J/w@public.gmane.org> > 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- > talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org > To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
On 14 June 2011 15:46, Sta Canovist <stacanovist-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> > > 2011/6/14 Walter Davis <waltd-HQgmohHLjDZWk0Htik3J/w@public.gmane.org> >> >> 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.As Walter said it is because you should be using update not edit. In normal use with a browser new is used to get a form to fill in then create is used to create the record, edit is used to get the form for editing a record then update is used to do the update. So the form should be posted to update not edit and that is what the standard routes are set up for.> > So you say the only solution is to add a custom route? Do you mean that kind > of routes like:No, just use the standard *update* route Colin -- 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
2011/6/14 Walter Davis <waltd-HQgmohHLjDZWk0Htik3J/w@public.gmane.org>> > 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 > >Ok, but if I now have the route that looks like this: namespace :admin do resources :accounts do resources :portals do post ''create'' post ''update'' post ''show'' end end end And then in the controller I have both (to be sure, I dont know which one of edit and update I should define) I have: def update render :text => "update" return end def edit render :text => "edit" return end Then going with curl to the url http://localhost:3000/admin/accounts/1/portals/edit or even http://localhost:3000/admin/accounts/1/portals/update still shows the error NO ROUTE MATCHES What am I 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 rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
On 15 June 2011 09:30, Sta Canovist <stacanovist-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> 2011/6/14 Walter Davis <waltd-HQgmohHLjDZWk0Htik3J/w@public.gmane.org> >> >> 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 > > Ok, but if I now have the route that looks like this: > > namespace :admin do > resources :accounts do > resources :portals do > post ''create'' > post ''update'' > post ''show'' > end > end > end > > And then in the controller I have both (to be sure, I dont know which one of > edit and update I should define) > I have: > > def update > > render :text => "update" > return > end > > def edit > > render :text => "edit" > return > end > > > Then going with curl to the url > http://localhost:3000/admin/accounts/1/portals/edit > or even > http://localhost:3000/admin/accounts/1/portals/update > > still shows the error NO ROUTE MATCHES >What does rake routes show? Is the url you are using above contained there? Colin -- 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
2011/6/15 Colin Law <clanlaw-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org>> > What does rake routes show? Is the url you are using above contained > there? > > Colin > >Well, among those that I think are relevent I can only see: portal_update POST /admin/accounts/:account_id/portals/:portal_id/update(.:format) {:action=>"update", :controller=>"admin/portals"} PUT /admin/accounts/:account_id/portals/:id(.:format) {:action=>"update", :controller=>"admin/portals"} PUT /admin/accounts/:id(.:format) {:action=>"update", :controller=>"admin/accounts"} -- 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
2011/6/15 Sta Canovist <stacanovist-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>> 2011/6/15 Colin Law <clanlaw-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org> > >> >> Well, among those that I think are relevent I can only see: >> >> portal_update POST >> /admin/accounts/:account_id/portals/:portal_id/update(.:format) >> {:action=>"update", :controller=>"admin/portals"} >> >> PUT /admin/accounts/:account_id/portals/:id(.:format) >> {:action=>"update", :controller=>"admin/portals"} >> >> PUT /admin/accounts/:id(.:format) >> {:action=>"update", :controller=>"admin/accounts"} >> >>And I see that accessing them as GET works. So typing the address in the browser shows in the logs that the page was accessed as GET, and I dont get any route error. -- 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
On 15 June 2011 09:53, Sta Canovist <stacanovist-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> 2011/6/15 Colin Law <clanlaw-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org> >> >> What does rake routes show? Is the url you are using above contained >> there? >> >> Colin >> > > Well, among those that I think are relevent I can only see: > > portal_update POST > /admin/accounts/:account_id/portals/:portal_id/update(.:format) > {:action=>"update", :controller=>"admin/portals"} > > PUT /admin/accounts/:account_id/portals/:id(.:format) > {:action=>"update", :controller=>"admin/portals"} > > PUT /admin/accounts/:id(.:format) > {:action=>"update", :controller=>"admin/accounts"}Right, so you can see that the routes you want are not there. As you can see, the update route requires an id for the portal, so it knows which portal to update, and you have not provided that in your url. Colin -- 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
2011/6/15 Colin Law <clanlaw-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org>> Right, so you can see that the routes you want are not there. As you > can see, the update route requires an id for the portal, so it knows > which portal to update, and you have not provided that in your url. > > Colin > > Are you sure?I see that I send the ID both for get and post. With GET i put this in the browser: http://localhost:3000/admin/accounts/133/portals/update And the log shows that I requested a GET, and there are no routes error. But from CURL I get route error: Started POST "/admin/accounts/133/portals/update" for 127.0.0.1 at Wed Jun 15 11:06:50 +0200 2011 ActionController::RoutingError (No route matches "/admin/accounts/133/portals/update"): But you can see that the ID was there: /admin/accounts/133/portals/update -- 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
2011/6/15 Sta Canovist <stacanovist-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>> > >> Are you sure? > I see that I send the ID both for get and post. > With GET i put this in the browser: > http://localhost:3000/admin/accounts/133/portals/update > > And the log shows that I requested a GET, and there are no routes error. > > But from CURL I get route error: > > Started POST "/admin/accounts/133/portals/update" for 127.0.0.1 at Wed Jun > 15 11:06:50 +0200 2011 > > ActionController::RoutingError (No route matches > "/admin/accounts/133/portals/update"): > > But you can see that the ID was there: > /admin/accounts/133/portals/update > >Oh I am sorry. I missunderstood. Yes, the problem was the portl_id that was not attached. I mixed up account_id and portal_id. Thank you, it works now. -- 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-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.