2016-03-06 53 views
3

在导轨上的ruby中,我们通常通过控制台在模型中分配数据。 like @model = Model.attribute (data)。像@user = User.create("John")如何通过导轨上的ruby将固定数据分配给数据库

我的问题是,如果我想要固定数据,我可以通过模型或控制器来完成吗?所以如果我想改变细节,我不必在控制台中查看和查找。

例如,我只需要5个用户和5个用户,所以我设置了user_id = 1是约翰user_id = 2是David ...等模型。我可以这样做吗?怎么样?

回答

7

您可以通过seeding data通过您的Rails应用程序中的seeds.rb文件创建“固定”数据。

假设您想创建一个具有特定数据的用户。进入你的应用程序的db目录并打开seeds.rb,您可以在其中添加用于在数据库中写入条目的代码。

User.create( email: '[email protected]', 
       system_id: 2, 
       subdomain: 'foo', 
       external_id: '', 
       first_name: 'Joe', 
       last_name: 'Patron', 
       phone_number: '213 555 1212', 
       role: 'default', 
       user_status_id: 1, 
       password: 'password', 
       password_confirmation: 'password', 
       terms_accepted_at: datetime, 
       created_at: datetime, 
       updated_at: datetime) 

你可以看到,我们在调用无论从那个模型,你正在使用,并沿所有必需的参数传递create方法 - 换句话说,你只是使用Ruby构建的对象。

一旦您创建了所有对象,请记得在您重置数据库以便运行seeds.rb文件来填充数据库时,运行rake db:seed

相关问题