0
我有一個rails應用程序,其中我擁有belongs_to has_many關係中的集羣和用戶。在剛剛構建的對象中訪問ID
在cluster_controller創建方法我寫:
@cluster = @current_user.clusters.build(params[:cluster])
現在我要運行一些命令行腳本:
output = `echo cluster#{@cluster.id} > /tmp/out`
...的功能在這裏
其餘的我也試過
output = `echo cluster#{@cluster.id.to_s} > /tmp/out`
當我這樣做時,文件只集中在它而不是集羣#。爲什麼是這個,我該如何解決它?
謝謝,繼承人問題: 腳本可能會失敗,在這種情況下我不想創建羣集。我應該從數據庫中刪除它還是有更好的方法? – dschatz 2010-07-02 12:56:32
您可以在事務中進行創建,然後在腳本失敗時將事務回滾。另一個選擇是輸出一些其他識別特徵而不是id到日誌 - 這取決於你的用例。 – 2010-07-02 14:07:54
我只需要爲每次運行每次創建羣集時運行的腳本提交一個唯一值。我選擇了id,因爲它必須是唯一的。然後,如果腳本因任何原因失敗,我應該將用戶重定向到主頁(或任何地方),並讓他們知道他們的集羣創建失敗。這當然不應該改變數據庫。 – dschatz 2010-07-02 14:18:50