Ruby\Rails 新手,真丢脸 :(
我正在开发一个供个人使用的引擎(简单的管理面板)。我想要的是能够配置我的主应用程序的模型,如下所示:
class User < ActiveRecord::Base
include Entropy::Configurable
entropy_config do
form_caption 'Editing user'
end
end
然后在引擎的模板中执行以下操作:
<h1><%= @object.entropy_config :form_caption %></h1>
引擎模块:
module Entropy
module Configurable
def self.included(base)
## to call entropy_config in model class
base.send :extend, ClassMethods
end
def entropy_config(arg)
## ... I'm missing this part
end
module ClassMethods
@@config = { ... }
def entropy_config (&block)
class_eval &block
end
def form_caption(arg)
// skipping class identification
@@config[:user][:form_caption] = arg
end
end
end
end
问题是我无法从可配置模块访问@@config,实际上当我在@object 上调用entropy_config 时。我做错了什么?