我是Rails的新手,我嘗試設置要在視圖中使用的模塊文件。所以我相信正確的行爲是將模塊定義爲控制器內的幫助器,並且應該可以工作。但是,我不是這種情況。這是結構。Rails - 將模塊包含到控制器中,在視圖中使用
lib
functions
-- form_manager.rb
form_manager.rb:
Module Functions
Module FormManager
def error_message() ...
end
end
end
users_controller.rb
class UsersController < ApplicationController
helper FormManager
def new ...
好,結構類似於上述,當我打電話ERROR_MESSAGE從new.html.erb
它給我的錯誤: uninitialized constant UsersController::FormManager
。
所以,首先,我知道在軌道3 lib不會自動加載。假設它不是強制性的自動加載lib文件夾,我該如何做這項工作,我錯過了什麼?
順便說一句,請不要說這個問題是重複的。我告訴你我一直在尋找這個廢話近2天。
這工作,非常感謝! :)但是,如果我刪除幫手它不起作用,所以最好保持原樣:)順便說一下,除了自動加載外,沒有其他方法嗎?因爲我相信,當你自動加載時,即使你沒有使用模塊,它仍然會被加載。第二個問題:我是否應該像在包含的方法中一樣列出模塊中的每個方法? (我的意思是,像m.helper_method:create_form,m.helper_method:destroy_form等...) –
嗯,不工作沒有'helper'?奇怪的。用答案更新了帖子。你應該早些時候問過這個問題,對不起,你已經浪費了2天時間( – shime
),如果沒有自動加載功能,它也不能工作,我想我必須堅持自動加載,再次感謝! –