我正在尝试创建我的第一个Rails应用程序模板,我遇到了copy_file
方法的一个小问题。
首先是一些背景....显然,Ruby OpenSSL软件包不附带CA存储,因此任何连接到HTTPS服务的尝试都将无法开箱即用。解决此问题的方法(对于Rails 3应用程序)是将行OpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONE
添加到config/environment.rb
文件的顶部。我需要在模板中动态执行此操作,以便安装jQuery。
所以我已经想到了,我的一般想法是:
config/environment.rb
文件。jquery:install --ui
任务config/environment.rb
文件。请参阅my template Gist,第25..34行是相关部分。
所以这一切都有效,直到步骤#4在#31行上Error: Could not find "env.orig" in any of your source paths
失败
这对我来说非常令人困惑,因为第28行工作,我可以在磁盘上看到env.orig
文件,那么为什么反向工作呢?
我做错了什么?
在查看Thor源thor\actions.rb
之后,很明显Thor使用了不同的路径(不是您当前的项目路径)来获取源和目标。此外,我的副本实际上不正在工作,它实际上正在处理ERB模板文件,而不是已经生成的文件。
经过一段时间后,我发现使用正确的工具,所以现在我有:run 'cp environment.rb environment.~'
和run 'mv environment.~ environment.rb'
工作得很好。我相当肯定这不会在没有安装unix工具的Windows机器上工作,但我可以忍受。有没有人有更好的方式?
答案 0 :(得分:0)
请参阅我的更新以了解为什么,但解决方案是使用正确的工具,所以我现在:run 'cp environment.rb environment.~'
和run 'mv environment.~ environment.rb'
工作得很好。我相当肯定这不会在没有安装unix工具的Windows机器上工作,但我可以忍受。