如何执行铁轨我们的Rails控制器中的命令行声明命令行语句中轨控制器
例如:我需要从我的轨控制器
def index
/Code to execute the command line statement/
end
希望时执行该语句
$rails new test -d postgresql
清除..
如何执行铁轨我们的Rails控制器中的命令行声明命令行语句中轨控制器
例如:我需要从我的轨控制器
def index
/Code to execute the command line statement/
end
希望时执行该语句
$rails new test -d postgresql
清除..
如果你想运行的内部控制shell命令,只需使用 “系统”
如:
system "rails new test -d postgresql"
或其他
exec "rails new test -d postgresql"
使用反引号外壳,像这样:
`rails new test -d postgresql`
为此使用作业队列可能会更聪明。
内运行控制器的命令行语句,我们可以使用system
命令
system "cd {path_to_folder}; rails new test -d postgresql"
像PradeepKumar说(会对此发表评论,但不能因REP):
system "cd {path_to_folder}; rails new test -d postgresql"
你必须声明所有你想在同一指令(用;
分隔)运行命令。我没有这样做(分开cd
命令,用两个不同的调用来访问我的可运行目录和实际执行行),我得到的结果不是我想要的。 例如,如果您尝试运行:
system "cd {path_to_folder}"
然后:
system "rails new test -d postgresql"
rails命令不会在path_to_folder的背景下,但在命令行中的默认位置被执行界面(例如C:\Users\Me
)或您的Rails程序的环境。
另外我在执行命令时遇到了错误,我在命令末尾添加了一个&
。在这种情况下,指令有两个命令,我将它添加到第一个命令的末尾(在;
之前)。
basic ..应该试过! :-) 谢谢 .. ! – Yothesh 2012-08-14 10:09:22
嗨,我无法在现有应用程序的控制器内创建一个新的rails应用程序。我得到以下错误:无法在另一个目录内初始化新的Rails应用程序,请先更改为非Rails目录。键入'rails'寻求帮助。 – Yothesh 2012-08-31 06:40:31