在 ruby​​ on Rails 中植入数据库时​​出现名称错误。 如何包含应用程序上下文?

发布于 2024-07-27 22:09:38 字数 503 浏览 2 评论 0原文

我在应用程序的 db 目录中有一个名为 load.rb 的种子脚本。 我刚刚从客户那里得到这个应用程序,所以不知道如何运行这个脚本。 我在所有 Model.create(...) 语句上都收到名称错误。 我猜这是因为Rails环境没有加载。

没有迹象表明此加载脚本是通过 rake 任务运行的,因为我在应用程序中没有看到自定义 rake 任务。 这是“Rails 的事情”吗? ...换句话说,是否有一个我不知道的命令会加载应用程序上下文并在 db 目录中执行 load.rb ?

如果没有,如何在文件中加载应用程序上下文,以便我只需键入“ruby load.rb”即可加载数据库?

该文件实际上只是一堆创建语句:

Quiz.create(:name=> "1")
Quiz.create(:name=> "2")
Quiz.create(:name=> "3")
Quiz.create(:name=> "4")

谢谢

I have a seed script called load.rb in the db directory of an application. I just got this app from a client so not sure how to run this script. I get a name error on all of the Model.create(...) statements. I guess this is because the Rails environment is not loaded.

There is no indication that this load script was run via a rake task because I see no custom rake tasks in the app. Is this a "Rails thing"? ...in other words, is there a command I am not aware of that will load the app context and execute load.rb in the db directory?

If not, how can load the app context in the file so that I can simply type "ruby load.rb" to load the database?

The file is literally just a bunch of create statements:

Quiz.create(:name=> "1")
Quiz.create(:name=> "2")
Quiz.create(:name=> "3")
Quiz.create(:name=> "4")

thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

|煩躁 2024-08-03 22:09:38

看起来它可能只是从控制台运行。 开始即可

./script/console

对于开发,您只需从 Rails 根目录

。 然后在控制台中加载脚本。

>> load "db/load.rb"

It looks like it's probably just being run from the console. For development, you'd simply start with

./script/console

from your Rails root directory.

Then inside your console, load the script.

>> load "db/load.rb"
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文