我根据用户的操作执行一些系统命令这样的mkdir
,cd
,cp -r skel/ dest/
,并创建一个Apache虚拟主机等执行使用Rails系统命令
哪里是这个代码的最佳地方住?我的直觉是把它们作为私人方法放在模型中,这是正确的吗?
THX
杰夫
我根据用户的操作执行一些系统命令这样的mkdir
,cd
,cp -r skel/ dest/
,并创建一个Apache虚拟主机等执行使用Rails系统命令
哪里是这个代码的最佳地方住?我的直觉是把它们作为私人方法放在模型中,这是正确的吗?
THX
杰夫
Rails推荐拥有瘦身控制器和胖模型,但我相信执行系统命令与模型无关。
因为它们依赖的用户行为,我建议把它们放在一个库(/lib目录)并调用从控制器库。
另外,请记住FileUtil可能已经在做你正在寻找的东西。
而不是直接脱壳而出,我会建议使用文件实用程序模块,包括使用Ruby。
http://www.ruby-doc.org/stdlib-1.9.3/libdoc/fileutils/rdoc/FileUtils.html
require 'fileutils'
FileUtils.mkdir 'test'
FileUtils.cd 'test'
FileUtils.cp_r 'skel', 'dest'
我还要把他们在模型中作为私有方法。