Yabe Initial-Data.yml发现字符'\ t'错误

时间:2011-08-15 17:02:54

标签: playframework yaml

我正在使用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

2 个答案:

答案 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!