是在轨道控制台(~ rails c
)动态?例如;如果我打开控制台,然后对模型进行更改,它是否会选择这些更改,还是必须退出控制台并再次运行rails c
才能获取模型中的更改?导轨控制台是否动态?
14
A
回答
35
您需要在控制台中调用reload!
方法来重新载入更改。这种方法的魔法在开发模式下由rails server
自动调用。
作为评论的指出下方,这里另一个答案,如果你改变的事情要做应用的环境,如添加新的宝石到Gemfile
,在config
做出改变任何东西,或添加新的插件那么你需要重新启动控制台。 app
的任何更改将可以重新加载reload!
如果您正在使用此特定方式来测试某个方法正在工作,我不会。测试(如Test :: Unit或RSpec)变体更好,因为你有一种重复的方式来反复运行它们。 rails console
非常适合一次性测试,但如果你想编写一个可维护的应用程序,然后编写测试。
1
正如Ryan指出的那样,您需要调用reload!重新加载更改。您还应该注意到一些更改要求您退出并重新启动控制台。这些更改包括更新配置或环境文件等内容(我不确定完整列表是什么)。
相关问题
- 1. 使用导轨控制台
- 2. 写入导轨控制台
- 3. 导轨 - 通过控制台
- 4. 无法启动导轨服务器或导轨控制台
- 5. 无法启动导轨服务器或导轨控制台
- 6. 轨控制台
- 7. 屈启动退出<strong>导轨控制台</strong>后立即后导轨控制台退出
- 8. 在控制台上打印(导轨s)
- 9. 导轨迁移脚本VS控制台
- 10. 更改导轨控制台颜色
- 11. 从控制台查看导轨测试
- 12. 从控制台获取导轨关联
- 13. 导轨控制台不起作用
- 14. 退出导轨控制台与'n'
- 15. 导轨控制台(pry)和mongodb
- 16. 重新加载导轨控制台
- 17. 无法打开导轨控制台
- 18. 在轨控制台
- 19. 如何在非导轨项目中使用导轨控制台?
- 20. 导轨控制台无法在导轨中工作3.2.1
- 21. 导轨服务器工作但“导轨控制台”不工作
- 22. 导轨3.2.6打开导轨控制台错误
- 23. 轨控制台 - 启动轨道控制台时无法加载custom_require.rb
- 24. 动态控制台primefaces 4.0
- 25. 自动初始化轨控制台
- 26. 如何通过导轨控制台检查列上是否存在索引?
- 27. 轨道控制台与wirble?
- 28. openshift轨道控制台
- 29. 轨控制台错误
- 30. 轨控制台不工作
如果更改了宝石或插件,则需要退出并重新启动控制台; '重新加载!'不包括这些类型的东西。 – 2011-03-12 04:18:40
这是一个不明显的例子。假设f是Foo类的一个实例。如果你改变Foo,输入'reload!',甚至是'f.reload',f.bar仍然不会更新。你需要重新分配Foo。至少,这就是它在Ruby 1.9.3p125和Rails 3.2.0上使用RVM的OS X Lion上的工作原理。 – Aaron 2012-03-24 21:21:16
@Aaron,'f'在内存中,所以即使您更改数据库中的数据直到您重新分配它,它也不会更改。 – Ari 2015-04-02 01:16:41