未定義的方法我都下app/controllers
進口模塊
require_relative '../../lib/bases_helper'
class BasesController < ApplicationController
include BasesHelper
def index
BasesHelper.available_bases
end
end
我試圖用另一個模塊中定義的方法的控制器lib
下:
module BasesHelper
def available_bases
@bases = Base.all
end
end
當我運行我的應用程序和訪問我得到一個錯誤
undefined method `available_bases' for BasesHelper:Module
我可以導航到方法與我的IDE通過點擊它的名字。爲什麼它不解決方法?我錯過了什麼?
哇,這真的是大會嗎?我用(用Java)把東西從控制器中拿出來,這正是我想要做的。這看起來非常複雜。很高興知道,非常感謝! – garci560
@nprensen是的,幫手更常用於觀點,儘管按你的方式做也不錯; Rails實際上喜歡_thin_控制器。事實上,我也使用這種方法來處理應用程序範圍的方法,例如會話(並在應用程序控制器中包含助手)。對於你的具體例子,由於'available_bases'方法只能被你的'bases_controlller'使用,所以把它放在控制器中是有意義的,大多數開發者都會這樣想。 – Gerry