以下を使用してRailsエンジンを作成しました( Rails Guidesに従って):
rails plugin new address_book --full --mountable
単一のビューを表示するためpages
に、単一のアクション ( と呼ばれる) で呼び出されるエンジン用のコントローラーの作成に進みました。つまり、temp
app/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
何が欠けているのか理解できないようですので、どんな助けでも大歓迎です。