我正试图在plesk服务器上托管一个应用程序。我创建了一个自定义变量,如Print幕中所示:

我想在seed.rb文件中访问这个变量,这样我就可以通过rake db:seed创建一个具有密码的用户。
这是正确的做法吗?是否有一种更好、更安全的方法来创建带有敏感数据(密码)的管理用户?如果可以的话,请指点教程。
编辑:,我会提供更多的信息
我使用这个seeds.rb文件:
case Rails.env when "development" puts "Seeding: development mode!" ... when "production" puts "Seeding: production mode!" puts "ENV: #{ENV['admin_pass']}" end puts "Seeding finished!"
当我使用plesk提供的run rake任务命令时,我得到了以下结果:

编辑#2:一些解决方案!
当我在任务参数中提供变量时,它可以工作!但是,如果我想以这种方式声明更多的环境变量,会发生什么呢?

发布于 2017-08-29 07:57:19
我同意您对解决方案2的关注。解决方案的另一个问题是不能为其他应用程序进程共享环境变量,例如: rails控制台或rails服务器。
另一种解决方案是使用figaro管理环境变量。
figaro添加到Gemfileproduction:
admin_pass: hello然后再次尝试运行rake db:seed任务。
发布于 2021-06-16 15:07:57
关于这一问题,有一项有特色的建议:
Ruby中指定的“自定义环境变量”字段中指定的传递变量以获取任务
当前,域上菜单"Ruby“中的”自定义环境变量“选项仅用于将环境变量传递给应用程序。但是它也需要将环境变量传递给rake任务,而且在当前的实现中,每次需要执行rake任务时,都必须在窗口“rake任务”中指定必要的变量。在选项“自定义环境变量”中指定的变量也应该传递给rake任务,因为类似的选项在开发人员已知的其他产品中也是这样工作的,并且用于托管Heroku和DigitalOcean之类的Ruby应用程序。
你可以投票支持它,这里
https://stackoverflow.com/questions/45906980
复制相似问题