ror开发的一个强势就是其解释性勿须编译,对源文件的更改可以立即体现在运行中,当启动rails应用之后,可以运行ruby script/console对应用进行即时调试,比如对model进行query测试,检验find查询的语句编写和结果查看,好处是不用打开数据库控制台就可以进行数据库编程,在检查查询的同时也校验了程序的编写,提高了开发效率。最近在开发当中遇到个问题,就是development mod下启动rails应用之后,在console中做调试时发现对源文件的修改并不能立即生效,检查config/environments/development.rb配置,config.cache_classes = false,应该是支持类的重新加载,而通过browser发出请求,修改是生效的,如何解决这个问题?当然一个办法就是需要不停的关闭和重启rails应用,但是太麻烦了,后来查了一下网上的资源,发现可以在console当中输入‘reload!’强制rails进行类重新加载,问题得到解决。
config.cache_classes配置选项的设置意义如下:
引用
Without getting into too much nitty-gritty detail, when the config.cache_classes setting is true, Rails will use Ruby's require statement to do its class loading, and when it is false, it will use load instead.
至于require与load的不同,可以查看yjjxf的一篇文章:
http://www.iteye.com/topic/79864
分享到:
- 2008-05-14 11:34
- 浏览 1296
- 评论(1)
- 论坛回复 / 浏览 (1 / 1972)
- 查看更多
相关推荐
Java 类的热重载(Hot Deployment)或热替换(Hot Swap)是开发过程中非常实用的功能,它允许开发者在不重启应用程序服务器(如Tomcat)的情况下更新已部署的类,从而提高开发效率。在这个例子中,我们将探讨如何在...
在平时的开发过程中,开发流程一般是,编写/修改代码 -> 编译/打包 -> 部署/重启服务 -> 测试刚才的代码 -> 编写/修改代码 -> 编译/打包...这样的一个循环。 常见问题场景 下面的场景是否很熟悉呢? 小明: 小张,我...
在我们的场景中,目标是修改编译后的class文件,这可能涉及到字节码操作,例如添加、修改或删除方法。这通常需要使用到如ASM、ByteBuddy或Javassist等字节码库。以ByteBuddy为例,它是一个现代且易于使用的字节码...
程序运行时修改Python代码而不打断运行过程,可在PyTorch程序训练过程中添加输出、查看统计、保存模型参数等重新加载一个 Python 实用程序,用于在每次迭代时从源重新加载循环体而不会丢失状态 用于在深度学习模型...
总的来说,Qdai Reloading-crx插件是一款针对在线学习环境的实用工具,它的存在旨在解决Moodle用户在课程管理中的痛点,提供更加顺畅的在线学习体验。通过自动刷新功能,用户可以更加专注于课程内容的吸收,而无需...
@_exported import HotSwiftUI这将使SwiftUI.View上的.eraseToAnyView()方法在整个应用程序中可用,以擦除其类型以及您可以观察到的全局injectionObserver变量,以便在注入代码后强制视图进行更新。 SwiftUI非常...
1.2.15有个Bug,会提示log4j:ERROR LogMananger.repositorySelector was null likely due to error in class reloading, using NOPLoggerRepository,大家使用1.2.14替换1.2.15即可解决!
### Django Master Class: Key Takeaways and Detailed Knowledge Points #### 1. Unit Testing (Simon Willison) **Introduction:** Unit testing is a crucial aspect of software development that ensures the...
该脚本还会稍微修补项目,以添加所需的"-Xlinker -interposable" “其他链接器标志”,因此在添加HotReloading和守护程序脚本构建阶段之后,您将不得不第二次运行该项目,以便热加载才能开始工作。 有关如何使用它...
在“play-asset-reloading-master”这个压缩包中,可能包含了一个示例项目,用于展示这个问题的具体情况。通过分析项目源代码、构建配置(如`build.sbt`)以及任何日志输出,我们可以进一步诊断问题的根源。同时,...
npm install --save reloading 用法 var React = require('react'); var Loading = require('reloading'); var App = React.createClass({ getInitialState: function () { return { loading: false }; }, ...
Live Class Reloading使您可以编辑Java代码并通过在Web浏览器中重新加载页面来立即查看结果,从而实现非常快速的“编码-查看-修复”循环。https://mirrors.tuna.tsinghua.edu.cn/apache/tapestry/