我一直在嘗試使用導入'file.rake'將一個.rake文件導入到我的控制器中,但我似乎得到一個錯誤,提示未定義的方法'import'對於Main:對象。我曾嘗試在網上查找有關如何使用導入的任何文檔,但找不到任何內容。有沒有人有解決方案或之前遇到過這個錯誤?試圖在ruby中導入.rake文件時出現'import'錯誤
在此先感謝。
我一直在嘗試使用導入'file.rake'將一個.rake文件導入到我的控制器中,但我似乎得到一個錯誤,提示未定義的方法'import'對於Main:對象。我曾嘗試在網上查找有關如何使用導入的任何文檔,但找不到任何內容。有沒有人有解決方案或之前遇到過這個錯誤?試圖在ruby中導入.rake文件時出現'import'錯誤
在此先感謝。
我想你可能會用這種錯誤的方式去做。爲什麼Rakefile中的這個功能?
Rake是Ruby的等價物make
- 它被設計用於處理具有依賴關係的軟件任務,比如構建應用程序或打包發佈Rubygem。即使Wikipedia也有很好的描述,或者查看this answer以獲取鏈接轉儲。
你所描述的聽起來像是正常的Rails的東西 - 採取網絡輸入,採取行動,與數據庫接口。我會認真考慮在Rails中重寫你的Rake任務。
有一對夫婦,你可以讀到這裏途徑:Run rake task in controller
但我真的不會推薦他們。如果您發現需要在您的應用程序中運行一些額外的代碼,那麼向控制檯開放並不是解決問題的方法。將代碼寫入您的應用程序,也許在lib文件中,然後調用它。
你甚至可以讓你的rake文件調用相同的lib方法,這樣你就幹掉了。
添加代碼文件到lib文件夾,把所有的邏輯在那裏
module ExtraActions
def method_that_does_logins
...
end
end
在控制器中包含的:
UsersController < ApplicationController
include ExtraActions
def create
... #normal code
method_that_does_logins
end
end
你能不能多加一點背景下你在做什麼試圖實現? – Matt
你能否更詳細地解釋你想做什麼,因爲在控制器中加載rake文件看起來很可疑。 –
最重要的是,'import'不是Ruby核心的一個方法 - 它存在於'Rake'庫中以允許rakefile包含。 – Chowlett