我正在使用Yabe教程中的标签,并且遇到了我的initial-data.yml的问题
我已经确认它与样本版本的相似之处就是停止复制和粘贴。
这是我看到的
Malformed YAML
Cannot parse the /conf/initial-data.yml file: found character '\t' that cannot start any token
In /conf/initial-data.yml (around line 15)
11: password: secret
12: fullname: Jeff
13:
14: Tag(play):
15: name: Play
16:
17: Tag(architecture):
18: name: Architecture
19:
20: Tag(test):
21: name: Test
这是我的yml
User(bob):
email: bob@gmail.com
password: secret
fullname: Bob
isAdmin: true
User(jeff):
email: jeff@gmail.com
password: secret
fullname: Jeff
Tag(play):
name: Play
Tag(architecture):
name: Architecture
Tag(test):
name: Test
Tag(mvc):
name: MVC
Post(firstBobPost):
title: About the model layer
postedAt: 2009-06-14
author: bob
content: >
The model has a central position in a Play! application. It is the domain-specific
representation of the information on which the application operates.
Martin fowler defines it as:
Responsible for representing concepts of the business, information about the
business situation, and business rules. State that reflects the business situation
is controlled and used here, even though the technical details of storing it are
delegated to the infrastructure. This layer is the heart of business software.
Post(secondBobPost):
title: Just a test of YABE
postedAt: 2009-03-25
author: bob
content: >
Well, it's just a test.
Post(jeffPost):
title: The MVC application
postedAt: 2009-06-06
author: jeff
tags:
- play
- architecture
- mvc
content: >
A Play! application follows the MVC architectural pattern as applied to the
architecture of the Web.
This pattern splits the application into separate layers: the Presentation
layer and the Model layer. The Presentation layer is further split into a
View and a Controller layer.
Comment(c1):
author: Guest
content: >
You are right !
postedAt: 2009-06-14
post: firstBobPost
Comment(c2):
author: Mike
content: >
I knew that ...
postedAt: 2009-06-15
post: firstBobPost
Comment(c3):
author: Tom
content: >
This post is useless ?
postedAt: 2009-04-05
post: secondBobPost
答案 0 :(得分:5)
您在15-23行有标签:
name:\t\t\tPlay
\t
Tag(architecture):
name:\t\t\tArchitecture
\t
Tag(test):
name:\t\t\Test
\t
Tag(mvc):
name:\t\t\tMVC
\t
yaml中不允许使用标签:
标签已被取缔,因为它们的处理方式不同 不同的编辑和工具。因为缩进是至关重要的 对YAML的正确解释,这个问题甚至太棘手了 尝试。事实上,Python的Guido van Rossum已经承认了这一点 在Python源代码中允许使用TAB是很多人的头疼问题 如果他再次设计Python,他会禁止他们。
答案 1 :(得分:0)
切勿在行的开头使用YAML中的字符“\ t”标签。只需使用SPACES!