के साथ एक रेल 3.2 इंजन के लिए सभी राउटिंग उदाहरण विफल हो गए हैं। मैंने the normal fashion में एक रेल इंजन बनाया है, आरएसपीसी स्थापित किया है, और एक मॉडल के लिए एक मचान उत्पन्न किया है, लेकिन मुझे पास करने के लिए कोई रूटिंग चश्मा नहीं मिल सकता है।आरएसपीसी 2.10
describe Licensing::LicensesController do
it 'routes to #index' do
get('/licensing/licenses').should route_to('licensing/licenses#index')
end
end
मैं इस तरह डमी अनुप्रयोग में उदाहरण चल रहा हूँ:
$ cd spec/dummy
$ rake spec
/Users/brandan/.rvm/rubies/ruby-1.9.3-p194/bin/ruby -S rspec ../routing/licensing/licenses_routing_spec.rb
F
Failures:
1) Licensing::LicensesController routes to #index
Failure/Error: get('/licensing/licenses').should route_to('licensing/licenses#index')
No route matches "/licensing/licenses"
# /Users/brandan/repos/licensing/spec/routing/licensing/licenses_routing_spec.rb:5:in `block (2 levels) in <top (required)>'
Finished in 0.04345 seconds
1 example, 1 failure
इंजन सही ढंग से डमी एप्लिकेशन में रखा जाता है:
# spec/dummy/config/routes.rb
Rails.application.routes.draw do
mount Licensing::Engine => "/licensing"
end
यहाँ एक उदाहरण है
और मैं डमी ऐप में जा सकता हूं और कंसोल को फायर कर सकता हूं और उस मार्ग को ठीक कर सकता हूं:
1.9.3p194 :001 > app.get('/licensing/licenses')
Licensing::License Load (0.3ms) SELECT "licensing_licenses".* FROM "licensing_licenses"
200
1.9.3p194 :002 > app.response.body
"<!DOCTYPE html>..."
डमी एप्लिकेशन और RSpec के बीच कुछ विसंगति नहीं है, और मैं समझ नहीं कि यह क्या है। मैं कई लेख इस समस्या को हल करने के लिए दावा है कि मिल गया है, लेकिन उनमें से कोई मदद की है, और उनमें से कई रेल के लिए विशिष्ट हैं 3.1:
- Ryan Bigg's article on generating and testing engines
- Matthew Ratzloff's article on testing engine routes in Rails 3.1
- Stefan Wienert's article on mountable engines
- A mailing list message about testing routing helpers in Rails 3.2
क्या किसी ने रेल 3.2/आरएसपीसी 2.10 में इस समस्या को हल किया है?
मैं आपको लगता है कि अपने इंजन को एकीकृत एक डमी एप्लिकेशन के खिलाफ परीक्षण कर रहे हैं संभालने हूँ:
यहाँ इस विषय पर अच्छा धागे की एक और जोड़ी हैं। क्या आप सुनिश्चित हैं कि इंजन डमी ऐप के मार्गों में घुड़सवार है? यदि हां, तो क्या आप सुनिश्चित हैं कि आपका spec ': type =>: रूटिंग' है? –
@TanzeebKhalili मुझे यकीन है कि मार्ग सही हैं क्योंकि वे कंसोल में और ब्राउज़र में काम करते हैं। मैं डमी ऐप के भीतर से चश्मा चला रहा हूँ। फ़ाइलें 'spec/routing' के अंतर्गत हैं, और स्पष्ट रूप से निर्दिष्ट करते हैं कि:: type =>: रूटिंग 'उदाहरणों को पास करने का कारण नहीं बनता है। कोई और विचार? : -/ – Brandan
निम्नलिखित परिवर्तनों के बारे में: 1) विभिन्न वर्णित वस्तु: मार्गों का वर्णन करें "करें ..." और 2) विभिन्न वाक्यविन्यास: '{: get => '/ लाइसेंसिंग/लाइसेंस'}। Should be_routable' –