【问题标题】:Can I somehow execute my db/seeds.rb file from my rails app?我可以以某种方式从我的 rails 应用程序执行我的 db/seeds.rb 文件吗?
【发布时间】:2011-07-09 21:36:38
【问题描述】:

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

我已经研究过在一个方法中使用 load 'db/seeds.rb',但这并不完全符合我的要求。我知道我错过了什么,但是什么?

【问题讨论】:

    标签: ruby-on-rails seed


    【解决方案1】:

    我更喜欢经典的方法:

    bundle exec rails db:seed
    

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

    【讨论】:

      【解决方案2】:

      您可以拨打Rails.application.load_seed。这就是rake db:seed 所做的一切。

      【讨论】:

      • 我刚刚用 mongrel 启动了我的应用程序,打开了一个控制台,然后输入了“Rails.application.load_seed”。我得到以下信息: NoMethodError: undefined method load_seed' for #<Ixchanj::Application:0xb6a7f6a0> from /home/kenb/ruby/gems/gems/railties-3.0.3/lib/rails/application.rb:77:in send' from /home/kenb/ruby/gems/gems/railties-3.0.3/lib/rails/application.rb:77:in `method_missing' from (irb) :18 从 :0 所以,那没用。除了“load_seed”,我还缺少什么?
      • 抱歉,load_seed 似乎要到 3.1.0 才可用(我是从 Rails 的 master 分支找到的,没想到要检查它)。同时,您必须使用:load(Rails.root.join("db", "seeds.rb")) 运行它
      猜你喜欢
      • 2013-08-18
      • 2015-07-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-14
      相关资源
      最近更新 更多