【问题标题】:Editing a .rb file under rails console在 rails 控制台下编辑 .rb 文件
【发布时间】:2013-11-12 09:20:03
【问题描述】:

我正在尝试使用 rails 编辑 .rb 文件。

所以我输入:

 $ rails c
 irb(main):001:0> require config/application.rb

然后我收到以下错误消息:

NameEror: 未定义的局部变量或方法 `config' 用于 main:Object from (irb):1

我做错了什么?

【问题讨论】:

  • 我不明白。你到底想做什么(以及做什么)?为什么需要 config/application.rb?如果你运行 rails 控制台,config/application.rb 已经是必需的了。
  • 您好 Marek,我需要更改文件上的一行代码,然后想要“激活”此更改(我是 Rails 新手),有人告诉我从控制台执行此操作,但它不工作
  • Rails 控制台无论如何都会加载您的应用程序——它仅旨在帮助您运行基本命令和进程。我认为您与此无关
  • @Mel 你想做什么改变?
  • 嗨,丰富。但是,如果我在文本编辑下进行更改,如果我在 Rails 控制台之外执行此操作,如何确保这些更改被“激活”?

标签: ruby-on-rails rails-console


【解决方案1】:

您不能使用 Rails Console 编辑文件 -

console 命令让您可以通过以下方式与 Rails 应用程序交互 命令行。在下面,rails 控制台使用 IRB,所以如果 你曾经用过它,你就在家里。这对 使用代码测试快速的想法并在服务器端更改数据 无需接触网站

如果您要编辑 .rb 文件,我会考虑使用简单的编辑应用程序(例如 Notepad ++)来实际编辑文件


如果您想更改应用程序的时区,您应该使用 Notepad++ 或 Dreamweaver 等应用程序或 Ruby IDE's 之一打开 application.rb 并输入以下行:

#app/config/application.rb
config.time_zone = 'Central Time (US & Canada)'

保存文件后,重新启动 Rails 服务器,它应该会为您改变一切。显然,现有的数据库条目将位于旧时区,但这应该没问题

【讨论】:

  • 我只需要更改时区 "config.time_zone = 'Central Time (US & Canada)'" 所以这很简单,但我想知道是否需要在特定的时间执行此操作红宝石环境
  • 感谢您的评论!!您是要更改整个应用、服务器还是特定用户的时区?
  • 为应用程序和服务器! (Ubuntu) 我需要将其更改为 UTC
  • 没问题!如果您需要更多帮助,请告诉我:)
【解决方案2】:

我建议使用 pry 来完成这项任务

gem install pry

运行 pry 后,你会看到类似 ruby​​ 控制台的提示

输入:

edit -r config/application.rb

将打开编辑器(通过 EDITOR 环境变量设置的那个),您可以更改文件。

当您关闭编辑器时,文件将被重新加载,并直接在控制台中进行评估。

看看这个:https://github.com/pry/pry/wiki/Editor-integration

当然还有这个:http://pryrepl.org/

【讨论】:

    猜你喜欢
    • 2011-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多