2012-04-18 5 views
10

У меня есть приложение, использующее рельсы 3.2.3 и spork 1.0.0rc2. Когда я запускаю мой огурец тест я получаю:Rails 3.2.3 с spork не распознает вспомогательные методы в тестах на огурцы

ActionView::Template::Error: undefined local variable or method `page_title' 

Где page_title определяется в моем помощнике приложения. Я не уверен, что сломало их, пока оно работало до последнего обновления пакета.

Любой, имеющий такую ​​же проблему?

+0

Какие драгоценные камни были обновлены до появления вопроса? –

+0

Является ли этот вызов помощником внутри представления, которое используется при разработке? У меня есть аналогичная проблема, и я подозреваю ее, потому что представление визуализируется при создании драгоценного камня и у него нет помощников. – Malte

+0

@Malte, как вы это решили? – Calin

ответ

5

Чтобы решить эту проблему, добавьте эти строки ниже в Spork.prefork блок

full_names = Dir["#{Rails.root}/app/helpers/*.rb"] 

full_names.collect do |full_name| 
    include Object.const_get(File.basename(full_name,'.rb').camelize) 
end 
+0

Я надеялся, что это исправит эту проблему для меня. Я добавил код в свой блок предкара. Теперь я получаю следующую ошибку, когда пытаюсь запустить sprok: uninitialized constant ApplicationHelper в 'const_get ' –

1

Люди были что-то одинаково для рельсов 3.1 отчетности при использовании Spork: https://github.com/sporkrb/spork/issues/109

В основном, они говорят вам использовать это:

Spork.trap_method(Rails::Application::RoutesReloader, :reload!) 

Я использую рельсы 3.1, но это не решило мои проблемы. Я все еще ищу ответ.