2012-03-14 7 views
20

मैंने Guard and Spork के साथ स्वचालित परीक्षण सेट अप करने पर Rails Tutorial का पालन किया। कभी-कभार हर, खासकर जब अपने संपादक में एक असंपादित टेम्पलेट बचत, गार्ड शिकायत (full backtrace):गार्ड प्रक्रिया चलाने में त्रुटि: एकवचन विधि नहीं मिल सकती

ERROR: Problem with watch action! 
undefined method `singularize' for "layouts":String 

मेरे Guardfile: अगर मैं पुनः आरंभ

# A sample Guardfile 
# More info at https://github.com/guard/guard#readme 

guard 'rspec', :version => 2, :all_after_pass => false, :cli => '--drb' do 
    watch(%r{^spec/.+_spec\.rb$}) 
    watch(%r{^lib/(.+)\.rb$})  { |m| "spec/lib/#{m[1]}_spec.rb" } 
    watch('spec/spec_helper.rb') { "spec" } 

    # Rails example 
    watch(%r{^spec/.+_spec\.rb$}) 
    watch(%r{^app/(.+)\.rb$})       { |m| "spec/#{m[1]}_spec.rb" } 
    watch(%r{^app/(.*)(\.erb|\.haml)$})     { |m| "spec/#{m[1]}#{m[2]}_spec.rb" } 
    watch(%r{^lib/(.+)\.rb$})       { |m| "spec/lib/#{m[1]}_spec.rb" } 
    watch(%r{^app/controllers/(.+)_(controller)\.rb$}) do |m| 
    ["spec/routing/#{m[1]}_routing_spec.rb", 
    "spec/#{m[2]}s/#{m[1]}_#{m[2]}_spec.rb", 
    "spec/acceptance/#{m[1]}_spec.rb", 
    "spec/requests/#{m[1].singularize}_pages_spec.rb"] ### Look here ### 
    end 
    watch(%r{^app/views/(.+)/}) do |m| 
    "spec/requests/#{m[1].singularize}_pages_spec.rb" ### Look here ### 
    end 
    watch(%r{^spec/support/(.+)\.rb$})     { "spec" } 
    watch('spec/spec_helper.rb')      { "spec" } 
    watch('config/routes.rb')       { "spec/routing" } 
    watch('app/controllers/application_controller.rb') { "spec/controllers" } 
    # Capybara request specs 
    watch(%r{^app/views/(.+)/.*\.(erb|haml)$})   { |m| "spec/requests/#{m[1]}_spec.rb" } 
end 


guard 'spork', :rspec_env => { 'RAILS_ENV' => 'test' } do 
    watch('config/application.rb') 
    watch('config/environment.rb') 
    watch(%r{^config/environments/.+\.rb$}) 
    watch(%r{^config/initializers/.+\.rb$}) 
    watch('Gemfile') 
    watch('Gemfile.lock') 
    watch('spec/spec_helper.rb') 
    watch('test/test_helper.rb') 
end 

गार्ड शिकायत नहीं है , लेकिन पुनरारंभ करना थोड़ा परेशान हो रहा है; स्वीकार्य रूप से, हर बार जब मैं एक परीक्षण चाहता हूंचलाने के रूप में परेशान नहीं है।

  • मैं this post में सुझाव कोशिश की, लेकिन मुझे लगता है कि .autotest गार्ड के लिए गलत फ़ाइल हो सकता है, के बाद से इस समस्या का समाधान नहीं है।
  • only similar error मुझे Google के साथ मिला जो संबंधित प्रतीत नहीं होता है।

उत्तर

32

वास्तव में, in the Rails tutorial वे Guardfile के शीर्ष पर require 'active_support/core_ext' जोड़ रहे हैं।

मुझे लगता है कि यह आपकी समस्या को ठीक कर सकता है।

आरएसपीसी गार्ड से पहले स्पार्क गार्ड घोषित करना भी सुनिश्चित करें।

+7

हाँ, '# singularize' [ActiveSupport :: Inflector] से है (http://api.rubyonrails.org/classes/ActiveSupport/Inflector.html), इसलिए 'आवश्यक' सक्रिय_support/inflector 'पर्याप्त है। – Netzpirat

+2

दोह! अगर यह एक पूर्ण कोड उदाहरण था, तो मैंने कॉपी और पेस्ट किया होगा। : डी उम्मीद है कि इससे दुर्भाग्यपूर्ण आत्मा की मदद मिलेगी जिसकी भविष्य में इस समस्या है। इसके अलावा, पहले स्पार्क की रक्षा के बारे में टिप के लिए धन्यवाद! – jrhorn424

+0

कम से कम मेरी मदद की :) Thanx! –

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^