这是我第一次使用Symfony 2.我在这里尝试的只是当用户点击提交按钮时,他将转到另一页。
但是我的索引页面没有加载。他们说我的路由文件有问题,特别是:
YAML文件不能包含缩进标签
我不知道我做错了什么。这是我的路由文件。
community_online_shop_homepage:
pattern: /
defaults: { _controller: CommunityOnlineShopBundle:Page:index }
_login:
pattern: /login
defaults: { _controller: CommunityOnlineShopBundle:Page:login}
答案 0 :(得分:41)
YAML文件使用空格作为缩进,您可以使用2或4个空格进行缩进,但无标签。换句话说,禁止使用制表符缩进:
为什么YAML会禁止标签?
标签已被取缔,因为不同的编辑和工具会对它们进行不同的处理。由于缩进对YAML的正确解释至关重要,因此这个问题太过棘手甚至无法尝试。事实上,Python的Guido van Rossum已经承认允许在Python源代码中使用TAB是很多人的头疼,而且他再次设计Python,他会禁止它们。
(来源:YAML FAQ(感谢Destiny Architect链接))
例如,Symfony configuration file可以写成2或4个空格作为缩进:
doctrine:
dbal:
default_connection: default
doctrine:
dbal:
default_connection: default
答案 1 :(得分:3)
您可以尝试cache:clear
或尝试使用path
代替pattern
。
path
选项是 Symfony2.2 中的新选项,旧版本中使用pattern
。
community_online_shop_homepage:
path: /
defaults: { _controller: CommunityOnlineShopBundle:Page:index }
_login:
path: /login
defaults: { _controller: CommunityOnlineShopBundle:Page:login }
答案 2 :(得分:0)
YAML文件不能包含制表符作为缩进,因此错误在这里:
C:\\xampp\\htdocs\\api\\app/../src/AppBundle/Resources/config/valida
tor.yml" at line 9 (near " - { resource: validators/services.yml }")
。
答案 3 :(得分:0)
@Html.LabelFor(m => m.Data, "text1 /<br/> text2", null)
您可以将 indent_size 更改为 2 ,具体取决于您的 首选项