That's it. Thank you man!
On 13 okt, 10:29, Alexandre SALOME <[email protected]> wrote:
> Hu !
>
> Add in requirements : sf_method: [get, post]
>
> By default, i think only get is accepted, so it skip the route.
>
> This should fix the problem
>
> 2009/10/13 HAUSa <[email protected]>
>
>
>
>
>
> > With url_for('@user_activate', $user); I got an error, but without the
> > @ it works.
>
> > Now I changed the route to this:
>
> > user_activate:
> > url: /user-activate/:id
> > class: sfPropelRoute
> > options: { model: User, type: object }
> > param: { module: user, action: activate }
>
> > When I type in the URL (/website_dev.php/user-activate/1), it shows
> > the page correctly. Then, when I submit a form to the exact same URL,
> > it says "Action "useractivate/1" does not exist.".
> > I guess the fact that it searches for a module named useractivate and
> > a action that is named 1, means that it takes the default route yet
> > again. On a form submit, it just doesn't recognize the route class
> > "user_activate"!
>
> > This is really weird!
>
> > On 12 okt, 12:10, Alexandre SALOME <[email protected]> wrote:
> > > For the route, use :
>
> > > url_for('@user_activate', $user);
>
> > > Could you try a simple thing ?
>
> > > Change your URL : set something like /user-activate/:id
>
> > > Does it works like this ?
>
> > > 2009/10/12 HAUSa <[email protected]>
>
> > > > With the requirements it works, the url_for('@user_activate?id=' .
> > > > $user->getId()) didn't have any effect.
> > > > But what is the difference with the requirements? It's strange that it
> > > > doesn't take the user_activate route in first place, because I placed
> > > > it on top of my routing.yml document...
>
> > > > On 9 okt, 18:18, Alexandre SALOME <[email protected]> wrote:
> > > > > 1 => true in routing parameters...
>
> > > > > Strange...
>
> > > > > Try adding :
>
> > > > > *requirements*:
> > > > > id: \d+
>
> > > > > Finally :
>
> > > > > user_activate:
> > > > > url: /user/activate/:id
> > > > > class: sfPropelRoute
> > > > > options: { model: User, type: object }
> > > > > param: { module: user, action: activate }
> > > > > requirements:
> > > > > id: \d+
>
> > > > > 2009/10/9 NairuS <[email protected]>
>
> > > > > > 2009/10/9 HAUSa <[email protected]>
>
> > > > > >> Hey, this is weird! I checked the log like you said Alexandre, and
> > it
> > > > > >> matches just the default one...
>
> > > > > >> Oct 09 10:17:36 symfony [info] {sfPatternRouting} Connect
> > > > > >> sfPropelRoute "user_activate" (/user/activate/:id)
> > > > > >> Oct 09 10:17:36 symfony [info] {sfPatternRouting} Connect
> > > > > >> sfPropelRoute "user_edit" (/user/edit/:id)
> > > > > >> Oct 09 10:17:36 symfony [info] {sfPatternRouting} Connect sfRoute
> > > > > >> "homepage" (/)
> > > > > >> Oct 09 10:17:36 symfony [info] {sfPatternRouting} Connect sfRoute
> > > > > >> "default_index" (/:module)
> > > > > >> Oct 09 10:17:36 symfony [info] {sfPatternRouting} Connect sfRoute
> > > > > >> "default" (/:module/:action/*)
> > > > > >> Oct 09 10:17:36 symfony [info] {sfPatternRouting} Match route
> > > > > >> "default" (/:module/:action/*) for /user/activate/1 with
> > parameters
> > > > > >> array ( 1 => true, 'module' => 'user', 'action' => 'activate',)
>
> > > > > >> But why doesn't it match "user_active"? The URL is correct!
> > > > > >> /website_dev.php/user/activate/1
>
> > > > > >> On 9 okt, 10:15, HAUSa <
> > [email protected]>
> > > > > >> wrote:
> > > > > >> > Ah, the URL problem is solved. I had to use
> > url_for('user_activate',
> > > > > >> > $user), and not url_for('@user_activate', $user) (mind the @).
>
> > > > > > Yep it's true.
>
> > > > > > Sorry! With this syntax :
> > > > > > > url_for('@user_activate?id=' . $user->getId())
>
> > > > > > it must work too.
>
> > > > > >> > But, the form problem still remains.
> > > > > >> > When I submit my form, it says
> > > > > >> > "Fatal error: Call to undefined method sfRoute::getObject() in
> > > > /home/
> > > > > >> > snuber/domains/
> > snuber.net/public_html/apps/website/modules/user/
> > > > > >> > actions/actions.class.php on line 59"
>
> > > > > >> > This is my form now:
> > > > > >> > <form id="form_user_activate" action="<?php echo url_for
> > > > > >> > ('user_activate', $user) ?>" method="post"
> > enctype="multipart/form-
> > > > > >> > data">
>
> > > > > >> > On 9 okt, 09:50, Alexandre SALOME <[email protected]>
> > > > wrote:
>
> > > > > >> > > Sure, your configuration is OK.
>
> > > > > >> > > Maybe the routing match another route before this one.
>
> > > > > >> > > Please check in the logs and tell us,
>
> > > > > >> > > look if you do you have any other rule that could catch your
> > url
> > > > > >> before ?
>
> > > > > >> > > Use the task *./symfony app:routes websites* to get the list
> > of
> > > > the
> > > > > >> app
> > > > > >> > > routes.
>
> > > > > >> > > Alexandre
>
> > > > > >> > > 2009/10/9 HAUSa <[email protected]>
>
> > > > > >> > > > Can someone help me with this please?
> > > > > >> > > > It's really becoming an obstacle in my development process
> > > > now... :(
>
> > > > > >> > > > On 8 okt, 21:01, HAUSa <
> > > > [email protected]>
> > > > > >> > > > wrote:
> > > > > >> > > > > I have this route:
>
> > > > > >> > > > > user_activate:
> > > > > >> > > > > url: /user/activate/:id
> > > > > >> > > > > class: sfPropelRoute
> > > > > >> > > > > options: { model: User, type: object }
> > > > > >> > > > > param: { module: user, action: activate }
>
> > > > > >> > > > > Now, in the page where that route leads to, I have a form.
> > The
> > > > > >> form is
> > > > > >> > > > > being sent to that route again:
> > > > > >> > > > > <form id="form_user_user_activate"
> > > > action="/website_dev.php/user/
> > > > > >> > > > > activate/1" method="post" enctype="multipart/form-data">
>
> > > > > >> > > > > But, when I post that form, I get this error message:
> > > > > >> > > > > Fatal error: Call to undefined method sfRoute::getObject()
> > in
> > > > > >> /home/
> > > > > >> > > > > snuber/domains/
> > > > snuber.net/public_html/apps/website/modules/user/
> > > > > >> > > > > actions/actions.class.php on line 30
>
> > > > > >> > > > > It is still the very same URL! The route should work,
> > > > shouldn't
> > > > > >> it?
>
> > > > > >> > > --
> > > > > >> > > Alexandre Salomé -- [email protected]
>
> > > > > --
> > > > > Alexandre Salomé -- [email protected]
>
> > > --
> > > Alexandre Salomé -- [email protected]
>
> --
> Alexandre Salomé -- [email protected]
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"symfony users" 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/symfony-users?hl=en
-~----------~----~----~----~------~----~------~--~---