如何在应用程序启动或重新启动时在数据库中创建记录

时间:2012-08-16 17:26:02

标签: ruby-on-rails ruby ruby-on-rails-3.1 boot records

在我的应用程序中,我有一个sing_up_page,其中有一个sing_up_form,其中有一个drop_down_list,显示了role_type。

RoleType是我在应用程序中存储记录的类

insert into role_type (id,name) values (1,'user');
insert into role_type (id,name) values (1,'admin');
insert into role_type (id,name) values (1,'vender');
在启动应用程序之前,在数据库中手动

。在转到sing_up_page之前我做了

@role_type=RoleType.all

所以下拉可以使用它来显示role_types但我想要的是如果它们是在应用程序启动时生成这些记录的过程,而不像Grails上的Groovy那样在数据库中手动创建记录。

1 个答案:

答案 0 :(得分:2)

如果您在.rb中创建app/config/initializers/文件,则会在服务器加载时执行该文件。

示例:

app/config/initializers/seed.rb

%w{user admin vendor}.each do |role|
  RoleType.create(:name => role)
end

每次加载服务器时,都会创建这些记录。

问题:为什么这些记录没有保留在您的数据库中?你或其他人删除它们吗?