Dan*_*ron 11 ruby-on-rails rails-console ruby-on-rails-4
我最近发现你可以使用load或require在Rails控制台中运行任意Ruby文件,如下所示:
load 'test_code.rb'
Run Code Online (Sandbox Code Playgroud)
这是很好的,但使用load或require(有什么区别?)我似乎无法访问脚本完成后在脚本中创建的对象.
例如,在我的脚本中,我可能有类似的东西:
u = User.where('last_name = ?', 'Spock').first
Run Code Online (Sandbox Code Playgroud)
如果我启动rails console并使用load或require运行该脚本,我看到它正常工作,我看到查询发生了,我可以在脚本中"放置"对象的属性,并在控制台输出中查看它们.但是一旦脚本完成,变量u就是未定义的.
我想运行一些代码来设置一些对象,然后以交互方式探索它们.可以这样做吗?我做错了什么或遗漏了一些明显的东西?
ush*_*sha 10
加载文件后,脚本中定义的变量将超出范围.如果要在控制台中使用变量,请将它们定义为实例变量或常量
@u = User.where('last_name = ?', 'Spock').first
Run Code Online (Sandbox Code Playgroud)
要么
USER = User.where('last_name = ?', 'Spock').first
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4471 次 |
最近记录: |