rails v5.1.0
とrspec-rails 3.5.2
を使用してRailsエンジンを開発しています。RSpec機能仕様でRailsエンジンのルートが見つかりません
私は、単純な機能の仕様があります:ルートヘルパーedit_job_path
を見つけることができないので、これはエラー
undefined method `edit_job_path' for #<RSpec::ExampleGroups::SomeFeature:0x007fc098a570e8>
を提起
require "rails_helper"
module MyEngineName
RSpec.feature "Some Feature", type: :feature do
it "user can navigate to page and blah blah", :js do
visit edit_job_path(1)
# .... other stuff
end
end
end
を。
フィーチャー仕様でエンジンルートにアクセスするために必要なことがありますか?
RSpecのドキュメントmentions that you can specify the engine routesですが、ルーティング仕様の場合にのみ表示されます。機能仕様に追加したときに失敗しますundefined method 'routes'
ありがとう!
EDIT:私のルートファイルが要求されたので、ここに追加します。このことから何かが助けるべきレーキからのすべてのルートの
# config/routes.rb
MyEngineName::Engine.routes.draw do
root to: redirect("/my_engine_name/jobs")
resources :jobs
end
一覧
> rake app:routes
....
....
Routes for MyEngineName::Engine:
root GET / redirect(301, /my_engine_name/jobs)
jobs GET /jobs(.:format) my_engine_name/jobs#index
POST /jobs(.:format) my_engine_name/jobs#create
new_job GET /jobs/new(.:format) my_engine_name/jobs#new
edit_job GET /jobs/:id/edit(.:format) my_engine_name/jobs#edit
job GET /jobs/:id(.:format) my_engine_name/jobs#show
PATCH /jobs/:id(.:format) my_engine_name/jobs#update
PUT /jobs/:id(.:format) my_engine_name/jobs#update
DELETE /jobs/:id(.:format) my_engine_name/jobs#destroy
はあなた 'routes.rb'ファイル、最初の行の少なくともカップルを表示しません。 – chumakoff
@chumakoff - それを使って投稿を編集しました。ありがとう! – user2490003