是在軌道控制檯(~ 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