-
-
Notifications
You must be signed in to change notification settings - Fork 9.6k
[2.2] Issue with {% render %} and service:method controller refs #6783
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
You mean |
@fabpot yes, sorry |
fabpot
added a commit
to fabpot/symfony
that referenced
this issue
Jan 18, 2013
…r the proxy route (closes symfony#6783) A controller name can be a service and service names can contain dots.
fabpot
added a commit
to fabpot/symfony
that referenced
this issue
Jan 22, 2013
…r the proxy route (closes symfony#6783) A controller name can be a service and service names can contain dots.
fabpot
added a commit
that referenced
this issue
Jan 22, 2013
This PR was merged into the master branch. Commits ------- cdf1d72 [FrameworkBundle] fixed requirement of the _controller palceholder for the proxy route (closes #6783) Discussion ---------- [FrameworkBundle] fixed requirement of the _controller palceholder for the proxy route (closes #6783) | Q | A | ------------- | --- | Bug fix? | yes | New feature? | no | BC breaks? | no | Deprecations? | no | Tests pass? | yes | Fixed tickets | #6783 | License | MIT | Doc PR | n/a --------------------------------------------------------------------------- by vicb at 2013-01-18T10:23:06Z What about a UT ? --------------------------------------------------------------------------- by vicb at 2013-01-18T11:28:41Z and the syntax is wrong also ! --------------------------------------------------------------------------- by gimler at 2013-01-21T19:59:57Z same problem the sonata admin bundle use ``` {% render 'sonata.admin.controller.admin:getShortObjectDescriptionAction' %} ``` rewrite to ``` {% render controller('sonata.admin.controller.admin:getShortObjectDescriptionAction') %} ``` throws ``` An exception has been thrown during the rendering of a template ("Parameter "_controller" for route "_proxy" must match "[^/\.]++" ("sonata.admin.controller.admin:getShortObjectDescriptionAction" given) to generate a corresponding URL.") in "SonataAdminBundle:CRUD:edit.html.twig". ``` with the requirement fix it throws ``` An exception has been thrown during the rendering of a template ("Unable to parse the controller name "sonata".") in "SonataAdminBundle:CRUD:edit.html.twig". ``` --------------------------------------------------------------------------- by fabpot at 2013-01-22T06:40:14Z ok, I've updated the patch. There is now a static segment (`/for`) between the controller and the format, which should fix the problem. While thinking about this, there is another option, which might be even better: removing the need for the proxy route altogether and check for a defined path like `/_proxy`. It would remove the dependency on a Url Generator in the rendering strategy, and would not make the router proxy listener any more complex. --------------------------------------------------------------------------- by gimler at 2013-01-22T07:20:43Z +1 for me the patch works i will open a PR for sonata doctrine orm bundle ``` {% render controller('sonata.admin.controller.admin:getShortObjectDescriptionAction', {}, { 'code': sonata_admin.field_description.associationadmin.code, 'objectId': sonata_admin.field_description.associationadmin.id(sonata_admin.value), 'uniqid': sonata_admin.field_description.associationadmin.uniqid }) ``` --------------------------------------------------------------------------- by gimler at 2013-01-22T07:22:21Z When the proxy route is nessesary we should add a note into the upgrade guide. +1 for less complexesy --------------------------------------------------------------------------- by fabpot at 2013-01-22T08:02:12Z There is one issue with removing the proxy route: when generating a proxy URL, we need a Request instance, which is not always the case. I'm going to submit another PR to "fix" that first. --------------------------------------------------------------------------- by vicb at 2013-01-22T08:17:51Z > It would remove the dependency Paul leaves this body :) --------------------------------------------------------------------------- by Tobion at 2013-01-22T08:53:52Z I don't think removing the proxy route is good. That's the purpose of the routing system to handle generating and matching. Now if you do it manually it will probably show a bad approach to people to handle such stuff. Also people cannot see what routes are defined explicitly and use tools like `router:debug`. --------------------------------------------------------------------------- by fabpot at 2013-01-22T09:28:55Z @Tobion: see #6829 --------------------------------------------------------------------------- by fabpot at 2013-01-22T09:57:57Z I've again changed the route pattern to avoid any possible problems (even if a controller contains a `/`). --------------------------------------------------------------------------- by Tobion at 2013-01-22T10:16:03Z Can a controller contain `/`? It's neither a valid service nor a valid class name or? --------------------------------------------------------------------------- by mvrhov at 2013-01-22T10:40:26Z AFAIK yes, at least I used Namespace/SubController more then once...
It seems that we can't include templates with controller embedded since this fix.
It outputs this exception:
|
to be able to use the controller function, you need to enable the router_proxy in your config and btw, |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
This tag…
…throws the exception…
The text was updated successfully, but these errors were encountered: