2013-06-04 71 views
0

我一直在嘗試使用導入'file.rake'將一個.rake文件導入到我的控制器中,但我似乎得到一個錯誤,提示未定義的方法'import'對於Main:對象。我曾嘗試在網上查找有關如何使用導入的任何文檔,但找不到任何內容。有沒有人有解決方案或之前遇到過這個錯誤?試圖在ruby中導入.rake文件時出現'import'錯誤

在此先感謝。

+0

你能不能多加一點背景下你在做什麼試圖實現? – Matt

+0

你能否更詳細地解釋你想做什麼,因爲在控制器中加載rake文件看起來很可疑。 –

+0

最重要的是,'import'不是Ruby核心的一個方法 - 它存在於'Rake'庫中以允許rakefile包含。 – Chowlett

回答

0

我想你可能會用這種錯誤的方式去做。爲什麼Rakefile中的這個功能?

Rake是Ruby的等價物make - 它被設計用於處理具有依賴關係的軟件任務,比如構建應用程序或打包發佈Rubygem。即使Wikipedia也有很好的描述,或者查看this answer以獲取鏈接轉儲。

你所描述的聽起來像是正常的Rails的東西 - 採取網絡輸入,採取行動,與數據庫接口。我會認真考慮在Rails中重寫你的Rake任務。

0

有一對夫婦,你可以讀到這裏途徑: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 
相關問題