我正在尝试将脚本加载到Rails控制台中。为了加载文件,我需要做类似的事情:
load scripts/my_script.rb
# This doesn't work... gives this error:
NameError: undefined local variable or method `scripts' for main:Object
load ./scripts/my_script.rb
ArgumentError: wrong number of arguments (0 for 1)
load "./scripts/my_script.rb"
LoadError: cannot load such file -- ./scripts/my_script.rb
# I feel like supermode. Tell me whyyy?
我怀疑我是从我的base rails目录开始的,所以如果Rails控制台的“ls”命令像终端那样(它没有),它会列出:
app/
config/
scripts/
Gemfile
etc
我可以在Rails控制台中使用哪些命令来导航,列出当前目录的内容,并显示Rails控制台当前所在的目录?
或者如果这是不可能的,请放心我的理智并解释为什么带有目录和文件名(和排列)的load命令不起作用。
额外注意:我需要重新加载不同的文件,因为我对它们进行了更改 - 所以启动控制台传递单个文件名是不行的。
答案 0 :(得分:4)
您是否想要从控制台对某些ruby文件执行某些操作?
您可以使用
Dir.pwd
获取当前目录,并可以使用其他File
相关方法来请求文件。