【发布时间】:2012-09-21 03:31:35
【问题描述】:
我在 symfony2 中创建了一个非常基本的静态页面,但没有找到路由错误,我已经为我的页面定义了路由。
我的控制器
#src/IDP/IDPBundle/Controller/PortfolioController.php
<?php
namespace IDP\IDPBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
class PortfolioController extends Controller
{
public function indexAction()
{
return $this->render('IDPIDPBundle:Portfolio:index.twig');
}
}
我的 routing.yml 文件
#src/IDP/IDPBundle/resources/config/routing.yml
IDPIDPBundle_portfolio:
pattern: /portfolio
defaults: { _controller: IDPIDPBundle:Portfolio:index }
requirements:
_method: GET
我在应用中的路由文件
#app/config/routing.yml
IDPIDPBundle:
resource: "@IDPIDPBundle/Resources/config/routing.yml"
prefix: /
# Internal routing configuration to handle ESI
#_internal:
# resource: "@FrameworkBundle/Resources/config/routing/internal.xml"
# prefix: /_internal
当我在浏览器中尝试这个 url 时,symfony 欢迎页面出现
http://project.dev/app_dev.php/
但是当我尝试时
http://project.dev/app_dev.php/portfolio
没有找到路由错误
我在这里做错了什么?
有什么想法吗?
【问题讨论】:
-
你运行路由调试器了吗?运行
php app/console router:debug --env=dev有什么收获? -
我将您的代码复制到了一个新的 symfony2 项目中,它适用,唯一的区别是两个
routing.yaml文件的 yaml 配置格式。意图正确吗? -
感谢您的回复,这只是因为 Eclipse IDE,更改仅发生在 IDE 的工作区中,而不是在我的项目根目录中。我开始使用我最喜欢的 IDE 的 Netbeans :)
-
修正缩进。 Yaml 对这件事非常敏感。
-
hai....你把树枝的名字写成index.twig还是index.html.twig??/