Module クラス内から URL ヘルパーにアクセスしようとしています。これが私のコードです:
module Station
class Plugins
@@plugins = [] unless defined?(@@plugins) && @@plugins.class == Array
class << self
def all
return @@plugins.sort_by { |p| p[:weight] }
end
def register(plugin = {})
raise "plugin must be a Hash (ie.: `register(:foo => 'bar')`)" unless plugin.class == Hash
raise "plugin must contain :name (ie.: `register(:name => 'my_plugin')`)" unless plugin[:name].present?
plugin[:weight] = 1 unless plugin[:weight].present?
plugin[:href] = eval("#{plugin[:name].downcase.pluralize}_url") unless plugin[:href].present?
@@plugins.push(plugin) unless @@plugins.include?(plugin)
end
end
# include default plugins:
Station::Plugins.register(:name => "Pages", :weight => -1)
end
end
サーバーを実行すると、次のエラーが返されました。
undefined local variable or method `pages_url' for Station::Plugins:Class
「クラスから URL ヘルパーを呼び出す方法」についてよく読みましたが、見つけた解決策はどれもうまくいきませんでした。