如何使用Ruby on Rails将固定数据分配给数据库

3
在Ruby on Rails中,我们通常通过控制台为模型分配数据。例如 @user = User.create("John"),以此类推。
我的问题是,如果我想固定数据,是否可以通过模型或控制器实现?这样,如果我想更改细节,就不必在控制台中查找了。
例如,我需要5个用户且仅限5个用户,因此我在模型中设置user_id = 1 是John,user_id = 2 是David等等。我该如何实现?
1个回答

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)

你可以看到,无论你正在使用哪个模型,你都在调用create方法并传递所有必需的参数 - 换句话说,你只是使用Ruby构建对象。
一旦你创建了所有的对象,请记得每次重置数据库时运行rake db:seed以运行seeds.rb文件来填充你的数据库。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接