0

以下を使用してRailsエンジンを作成しました( Rails Guidesに従って):

rails plugin new address_book --full --mountable

単一のビューを表示するためpagesに、単一のアクション ( と呼ばれる) で呼び出されるエンジン用のコントローラーの作成に進みました。つまり、tempapp/views/address_book/pages/temp.html.erb

エンジンの config/routes.rb は次のとおりです。

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

親アプリケーションでは、routes.rb ファイルに以下を追加しました。

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

親アプリケーションのコントローラーの 1 つのアクションで、エンジンに属するビューを次のように呼び出します。

redirect_to address_book.temp_path

エンジンのパスが表示されていてもrake routes、ブラウザからアクションを実行しようとすると、エラーが発生し続けます。

undefined local variable or method `address_book'

ラインのためにredirect_to address_book.temp_path

rake routes の結果には以下が含まれます。

address_book        /address_book         AddressBook::Engine

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

何が欠けているのか理解できないようですので、どんな助けでも大歓迎です。

4

1 に答える 1

0

試行錯誤の長いプロセス (そして一晩 PC をシャットダウン) の後、サーバーを再起動するだけでよいことに気付きました。

この投稿が、同じ障害を持つ他の人に役立つことを願っています。

于 2012-06-06T09:26:54.527 に答える