我正在为open_flash_chart插件编写自定义包装器.它被放入/lib并作为模块加载ApplicationController.
但是,我有一些类层次结构或smth问题.
从任何控制器我可以访问open_flash_chart的功能OpenFlashChart,Line等等
但是,在/lib模块中的类中,它不起作用!
有任何想法吗?
我有一个类ConstData:
class ConstData
US_CITIES = ['miami', 'new york']
EUROPERN_CITIES = ['madrid', 'london']
end
Run Code Online (Sandbox Code Playgroud)
它存储在/lib/const_data.rb下
我的想法是在模型,控制器或视图中我可以做到:
ConstData::US_CITIES 获得US_CITIES等
Rails应该自动加载这个类,我从以下网址获取:http: //groups.google.com/group/rubyonrails-talk/browse_thread/thread/662abfd1df9b2612?hl = en
但这不起作用.任何人都可以解释我如何做到这一点?
所以我有一个模块"MiddleMan"我可以在rails控制台中调用它,但在控制器中我得到一个NoMethodError
在控制器中我有:
class SignUpController < ApplicationController
include MiddleMan
def page_one
@package = MiddleMan::read_catalog("a", "b", "c")
end
end
Run Code Online (Sandbox Code Playgroud)
在middleman.rb模块中,我有:
module MiddleMan
def read_catalog(package, payment, coupon)
Package.new(:price => "4.99")
end
end
Run Code Online (Sandbox Code Playgroud)
有什么想法吗?
我需要从另一个控制器调用方法.什么是最好的方法?例如:
catalogues_controller.rb
class Site::CataloguesController < ApplicationController
respond_to :js, :html
def index
produc_list # call method other controller
end
end
Run Code Online (Sandbox Code Playgroud)
other_controller.rb
class OtherController < ApplicationController
respond_to :js, :html
def produc_list
myObj = Catalagues.find(params[:id])
render :json => myObj
end
end
Run Code Online (Sandbox Code Playgroud)