Just wasted 20 minutes on this and figured I'd post a solution for those that google this problem.
It seems that this is a Cake "feature" that won't be fixed (even though it creates more work than v1.3): http://cakephp.lighthouseapp.com/projects/42648/tickets/2528-request-type-put-instead-of-post So either use Mark's workaround from the above link, or what I did was change my "create" call to force POST: $this->Form->create('Blah', array('type' => 'post')); On Thursday, December 8, 2011 5:08:58 PM UTC-5, euromark wrote: > > scratch that - recordExists is true, therefore created is true and the > action is not submitted in the options array (which is optional after > all!). > but that should not result in a put afaik. > at least not if the documentation states that we should check with the > above if statement > > I would expect POST to be set if PUT is set (as PUT is usually a sub- > part of POST). or ALWAYS set POST. > > On 8 Dez., 23:03, euromark <[email protected]> wrote: > > I think its the FormHelper > > > > a simple: > > <?php echo $this->Form->create('User', array('id'=>'userData'));?> > > > > results in: > > <form action="/admin/members/edit/ > > 4edeb06d-7080-4e23-8438-0fe01810f9bf" id="UserAdminEditForm" > > method="post" accept-charset="utf-8"><div style="display:none;"><input > > type="hidden" name="_method" value="PUT"/></div>... > > > > so obviously it thinks this is a non-existing record > > //FormHelper.php > > 'type' => ($created && empty($options['action'])) ? 'put' : 'post', > > > > $created is true and $options['action'] is undefined => put... > > > > On 8 Dez., 22:47, Miles J <[email protected]> wrote: > > > > > > > > > > > > > > > > > What are your HTTP headers? > > > > > On Dec 8, 1:44 pm, euromark <[email protected]> wrote: > > > > > > thats really weird. > > > > happening on windows/wamp - php5.3.8 > > > > maybe some bug? > > > > > > the firefox firebug debug data for POST reads: > > > > > > Parameter application/x-www-form-urlencoded > > > > _method PUT > > > > data[UserInfo][country_id... 1 > > > > data[UserInfo][gender] 1 > > > > data[User][id] 4ed23d7c-dcc8-4d3b-8e7b-0fe01810f9bf > > > > data[User][username] test > > > > > > so it seems to put everything by default. > > > > As far as I know, POST is more generic and PUT mainly used for upload > > > > etc > > > > > > On 8 Dez., 21:04, Tilen Majerle <[email protected]> wrote: > > > > > > > i was checking this what you said that didn't work and results > > > > > checking: $this->request->is('post') > > > > > > > in Google Chrome (latest): true > > > > > Firefox (latest): true > > > > > IE 8: true > > > > > > > i'm on xampp 1.7.3 with php 5.3.5 > > > > > and Cake version: 2.0.4 > > > > > > > so problem is somewhere in your project or maybe server > configuration > > > > > -- > > > > > Lep pozdrav, Tilen Majerlehttp://majerle.eu > > > > > > > 2011/12/8 euromark <[email protected]> > > > > > > > > For 2.0 I just changed all > > > > > > if (!empty($this->data)) > > > > > > to > > > > > > if ($this->request->is('post')) > > > > > > > > But now it haunts be. > > > > > > In FF8 Cakephp $this->request does say "false" after a normal > post > > > > > > (whereas firebug itself says it is a post) > > > > > > but is('put') returns true > > > > > > Same with every other browser it seems. > > > > > > > > so it never saves... > > > > > > whats going on? > > > > > > > > -- > > > > > > Our newest site for the community: CakePHP Video Tutorials > > > > > >http://tv.cakephp.org > > > > > > Check out the new CakePHP Questions > sitehttp://ask.cakephp.organdhelp > > > > > > others with their CakePHP related questions. > > > > > > > > To unsubscribe from this group, send email to > > > > > > [email protected] <javascript:> For more options, > visit this group > > > > > > athttp://groups.google.com/group/cake-php > > -- Like Us on FaceBook https://www.facebook.com/CakePHP Find us on Twitter http://twitter.com/CakePHP --- You received this message because you are subscribed to the Google Groups "CakePHP" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. Visit this group at http://groups.google.com/group/cake-php?hl=en.
