3
所以我有一個模塊「中間人」我可以調用它只是在軌控制檯,但在控制器我得到一個NoMethodError呼叫從控制器(NoMethodError)模塊功能
在控制人有我精:
class SignUpController < ApplicationController
include MiddleMan
def page_one
@package = MiddleMan::read_catalog("a", "b", "c")
end
end
而且middleman.rb模塊中我有:
module MiddleMan
def read_catalog(package, payment, coupon)
Package.new(:price => "4.99")
end
end
有什麼想法?
感謝這個工作...我也不得不改變我的中間人文件的名稱middle_man.rb – Msencenb
作爲一個方面說明,如果你想直接調用模塊中的方法,而不需要混合它們,你需要將它們定義爲'def self.method_name',以便它們綁定到模塊實例本身。另一個(奇怪的)技巧是讓模塊自行擴展。你不使用'::'語法,你只是使用一個點。 – d11wtq