【发布时间】:2011-09-05 19:49:06
【问题描述】:
这真的让我发疯了;我在这上面花了整整两个小时,我就是想不通!我想要做的是在 YAML 文件中使用 ERB 在 YAML 文件中包含 rails 路由。长话短说,稍后将回读以从 YAML 文件中创建语义菜单。我在初始化程序_load_config.rb 中加载 YAML 文件(使用 ERB),加载它的代码如下所示:
menu_yml= "#{Rails.root}/config/menu.yml"
config = YAML.load(ERB.new(IO.read(menu_yml)).result)
MENU_CONFIG = config
在 YAML 文件 menu.yml 中,我的意思是:
logged_in:
dashboard:
text: "Dashboard"
url: <%= url_for dashboard_path %>
问题是<%= url_for hasboard_path %>抛出错误:
(erb):4:in `<main>': undefined local variable or method `dashboard_path' for main:Object (NameError)
从大量调试来看,我认为这是由于在此初始化程序之后加载了路由。非常感谢任何有关如何解决此问题的建议!
附:这是使用 Rails 3.1.rc5
【问题讨论】:
标签: ruby-on-rails-3 routes yaml ruby-on-rails-3.1 erb