、、、などのユーザーアクションに基づいていくつかのシステムコマンドを実行しmkdir
、Apache仮想ホストなどを作成しています。cd
cp -r skel/ dest/
このコードが存在するのに最適な場所はどこですか?私の本能は、それらをプライベートメソッドとしてモデルに入れることですが、これは正しいですか?
どうも
ジェフ
、、、などのユーザーアクションに基づいていくつかのシステムコマンドを実行しmkdir
、Apache仮想ホストなどを作成しています。cd
cp -r skel/ dest/
このコードが存在するのに最適な場所はどこですか?私の本能は、それらをプライベートメソッドとしてモデルに入れることですが、これは正しいですか?
どうも
ジェフ
Railsは、スキニーコントローラーとファットモデルを使用することを推奨していますが、システムコマンドの実行はモデルとは無関係であると思います。
それらはユーザーのアクションに依存するため、ライブラリ( / lib)に配置し、コントローラーからそのlibを呼び出すことを お勧めします。
また、FileUtilがすでに探していることを実行している可能性があることに注意してください。
直接シェルアウトする代わりに、Rubyに含まれているFileUtilsモジュールを使用することをお勧めします。
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'
また、プライベートメソッドとしてモデルに入れます。