111

我刚刚上线了我的第一个 Rails 站点,但现在我遇到了问题。当我在 IDE 上以开发模式运行项目时,我可以将控制台运行为:

User.first.name='whatever'更改用户名。

如何在生产模式下在实时站点上完成相同的任务?

4

6 回答 6

197

如果您正在运行 rails 3.0 或更高版本,您还可以使用

rails console production

生产当然可以用developmentor代替(默认test值为)development

添加该选项--sandbox后,您在控制台中对数据库所做的任何更改都将在您退出后回滚

如果这对您不起作用,您可能需要尝试

bundle exec rails console production

如果您实际上是在尝试在生产服务器上运行 rails 控制台,请尝试使用谷歌搜索“run rails console [您的云托管提供商]”,例如“run rails console heroku”

从 Rails 6 开始,您需要使用

RAILS_ENV=production bundle exec rails c

或者

RAILS_ENV=production rails c

取决于您的设置

于 2013-06-05T17:57:18.153 回答
58

相当容易:

RAILS_ENV=production rails console
于 2013-02-28T18:38:06.000 回答
23

如果您已经将站点部署到服务器,您还可以使用:

bundle exec rails console production

...在您的 rails 应用程序的 webroot 中。也就是说,如果您尚未直接在服务器上安装 rails 包,或者您想在 Web 应用程序的上下文中运行控制台。

于 2013-09-26T23:37:43.853 回答
8

试试下面的命令。

  rails c -e production
于 2016-07-18T06:13:17.453 回答
5

注意:此答案假设您使用 Heroku 作为您的托管服务。

这取决于您使用的托管服务。对于 Heroku,您可以转到终端并输入

heroku run rails console

这将为您的生产站点加载 Rails 控制台,并允许您为实时站点创建记录。

您还可以考虑为数据库播种,但这通常用于测试。RailsCasts 有一些关于这个主题的视频,但它们有点过时了。

于 2013-02-28T18:22:57.903 回答
-1

今天在控制台中运行 rails 6RAILS_ENV=production rails console

于 2020-05-11T01:15:28.500 回答