如何通过ruby on rails将固定数据分配给数据库

C.K*_*C.K 3 ruby ruby-on-rails

在rails上的ruby中,我们通常通过控制台在模型中分配数据.喜欢@model = Model.attribute (data).喜欢@user = User.create("John")

我的问题是,如果我想修复数据,我可以通过模型或控制器来完成吗?因此,如果我想更改细节,我不必在控制台中检查和查找.

例如,我只需要5个用户和5个用户,所以我在模型中设置的user_id = 1是John user_id = 2is David ...等.我能这样做吗?怎么样?

Mar*_*mic 7

您可以通过Rails应用程序中的文件播种数据来创建"固定"数据seeds.rb.

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

User.create(    email: 'patron@patron.com',
                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)
Run Code Online (Sandbox Code Playgroud)

你可以看到你create从你正在使用的任何模型中调用方法并传递所有必需的参数 - 换句话说,你只是使用Ruby来构建对象.

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