Ruby on rails 只有一行的表的Rails约定

Ruby on rails 只有一行的表的Rails约定,ruby-on-rails,Ruby On Rails,rails是否有任何约定或正确的方法来创建/操作只包含一行的表? 如果没有,最好的方法是什么? 我需要一种存储系统配置的方法 谢谢。编辑: rakedb:seed命令基本上执行您在应用程序的db/seeds.rb文件中编写的任何代码。虽然您可以在此文件中编写任何代码,但按照惯例,您应该编写用基本数据填充数据库的代码 例如:当您在某处部署应用程序并为其创建新数据库时,您希望具有管理员凭据的用户必须在那里。因此,您将在该文件中编写创建该用户的代码。下面是创建用户并为其分配管理员角色的示例代码 put

rails是否有任何约定或正确的方法来创建/操作只包含一行的表? 如果没有,最好的方法是什么? 我需要一种存储系统配置的方法


谢谢。

编辑:

rakedb:seed
命令基本上执行您在应用程序的
db/seeds.rb
文件中编写的任何代码。虽然您可以在此文件中编写任何代码,但按照惯例,您应该编写用基本数据填充数据库的代码

例如:当您在某处部署应用程序并为其创建新数据库时,您希望具有管理员凭据的用户必须在那里。因此,您将在该文件中编写创建该用户的代码。下面是创建用户并为其分配管理员角色的示例代码

puts "********Seeding Data Start************"

admin = User.create(:first_name => 'System', :last_name => 'Admin', 
       :email => 'systemadmin@sunpower.com', :password => 'sunpoweradmin', 
       :password_confirmation => 'sunpoweradmin', :source_system_id => 'systemadmin', 
       :source_system => 'LP',:entity_type => "Customer", :target_system => "OPENAM")

if admin.errors.blank?
    puts "***User #{admin.first_name} #{admin.last_name} created ***"
    admin.add_role :admin # add_role is method defined by rolify gem
    puts "***admin role assigned to #{admin.first_name} #{admin.last_name}***"
else
    puts "admin user failed to create due to below reasons:"
    admin.errors.each do |x, y|
       puts"#{x} #{y}" # x will be the field name and y will be the error on it
     end
end

puts "********Seeding Data End************"
现在,每当您重新创建数据库时,只需运行下面的命令,用基本数据填充数据库

$rake db:seed RAILS\u ENV=production

在生产环境中设置数据库的正确顺序,以及db名称空间中可用的所有rake任务,如下所示

$rake db:create RAILS_ENV=production

$rake db:migrate RAILS_ENV=production

$ rake db:seed RAILS_ENV=production
注意:您可以将前两个命令替换为
$rake db:setup RAILS\u ENV=production
,它将在内部运行create和migrate命令


或 您可以使用,它是rails设置的分支

安装后,您将能够执行以下操作:

Setting.foo = 123
Setting.foo # returns 123

希望这对您或您正在寻找的东西有所帮助。

此配置对多个用户有效还是仅对一个用户有效?将对所有系统有效。这张表中只需要一行。FrozenRecord Gem可能就是您想要的:这不是我想要的。用rails设置解决了。我想我表达错了。我需要一个只包含一行的表,而不是用一行创建它。所以您只需要在表中输入一次数据??是的。就这样。只询问rails中的系统配置表或只有一行的表是否有任何约定。我知道怎么做。不知道这是否是最好的方法。rails-settings-cached gem正是我需要的。现在测试它就像一个符咒!非常感谢。