如何執行鐵軌我們的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