sih*_*hrc 5 ruby-on-rails fixtures
当我生成夹具文件时,rails generate model Post title:string text:text它显示:
one:
title: MyString
text: MyText
two:
title: MyString
text: MyText
Run Code Online (Sandbox Code Playgroud)
我想知道为什么有 2,为什么它们被命名为“一”和“二”。
在这里,我看到使用了“google”、“rubyonrails”和“parent/child”等名称;而按照生成帖子模型的教程,它只会生成一两个......
经过更多研究,我发现我可能也对 db/migrate 文件感兴趣。我目前的理论是这些文件创建了我的数据结构......所以我不太确定夹具的作用。
我正在尝试使用创建“学生”模型
rails generate scaffold student
Run Code Online (Sandbox Code Playgroud)
但它似乎没有 :name 作为其键之一。我正在研究夹具以添加数据列。
关于您的问题的一些快速说明:
Fixtures 是可以提供给单元测试的数据。每当 rails 为您的控制器和模型生成相应的测试时,它们就会自动创建。它们仅用于您的测试,在运行应用程序时实际上无法访问。
默认情况下,Rails 每次都提供两个名为 'one' 和 'two' 的设备。您可以随意更改它们,此外,当您在使用生成器时传递所需的数据库列的键时,会生成进入夹具的数据。在第一个示例中,您使用了 rails g model Post title:string... 您创建了一个名为 Post 的模型并传入了两个键::title 和 :text。
回答:
至于您的最后一个问题,您可以通过以下方式快速解决问题: a) 通过在命令行中键入以下内容来删除旧的脚手架:
rails d scaffold Student
Run Code Online (Sandbox Code Playgroud)
b) 再次创建它,但这次使用您想要的密钥:
rails g scaffold Student name:string
Run Code Online (Sandbox Code Playgroud)