安装Rails 3引擎时无法看到路径

时间:2012-06-05 18:45:29

标签: ruby-on-rails ruby-on-rails-3 routes ruby-on-rails-3.2 rails-engines

我使用:

创建了一个Rails引擎(根据Rails Guides
rails plugin new address_book --full --mountable

我继续为引擎创建一个名为pages的引擎,只需一个动作(名为temp)即可显示单个视图,即app/views/address_book/pages/temp.html.erb

Engine的config / routes.rb是:

AddressBook::Engine.routes.draw do
  match :temp, to: "pages#temp" 
end

在父应用程序中,我在其routes.rb文件中添加了以下内容:

mount AddressBook::Engine => "/address_book", as: "address_book"

在其中一个父应用程序的控制器的操作中,我对属于引擎的视图进行了以下调用:

redirect_to address_book.temp_path

现在,即使rake routes显示引擎的路径,当我尝试从浏览器执行操作时,我仍然会收到错误:

undefined local variable or method `address_book'

代码行redirect_to address_book.temp_path

rake路由的结果包含以下内容:

address_book        /address_book         AddressBook::Engine

Routes for AddressBook::Engine:
temp  /temp(.:format) address_book/pages#temp

我似乎无法理解我所缺少的东西,所以任何帮助都会非常感激。

1 个答案:

答案 0 :(得分:0)

经过长时间的试验和错误(并关闭了PC的夜晚)后,我意识到我需要做的只是重新启动服务器

希望这篇文章可以帮助其他人有同样的绊脚石。