我能以某种方式从我的rails应用程序执行我的db/seeds.rb文件吗?

exp*_*ner 36 ruby-on-rails seed

我正在构建一个演示,我想让一个非技术人员很容易设置和运行演示.我已经构建了一个包含大量演示数据的seeds.rb文件.我希望能够通过页面链接提供管理员级别的操作,将rails应用程序重置为已知状态.我不想为这些非技术演示者提供命令行和耙子,因为他们可能会在脚下射击.

我已经研究过在方法中使用load'db/seeds.rb',但这并不是我想要的.我知道我错过了什么,但是什么?

idl*_*ers 82

你可以打电话Rails.application.load_seed.这一切都有rake db:seed.

  • 抱歉,看起来`load_seed`在3.1.0之前将无法使用(我从Rails的主分支中找到它并且没想到要检查它).在此期间,你必须运行它:`load(Rails.root.join("db","seeds.rb"))` (3认同)

fac*_*ias 5

我更喜欢经典的方法:

bundle exec rails db:seed
Run Code Online (Sandbox Code Playgroud)

但我想,你也可以Rails.application.load_seed像上面提到的那样打电话。