Почему мой функциональный тест не видит мои методы, созданные с использованием define_method? - PullRequest
1 голос
/ 24 февраля 2011

У меня есть это в моем application_controller.rb:

Group.all.each do |g|
  define_method( "is_#{ g.name }?".to_sym ) do
    unless @current_user.in_group?( g.name )
      flash[:notice] = "You must be in the #{ g.name.titleize } group to access that page"
      redirect_to '/'
      return false
    end
  end
end

Он использует записи в моей таблице групп для создания методов на лету.

Моя проблема в том, что мои функциональные тесты не видят эти методы:

  1) Error:
test_has_an_index(Sc::QuestionsControllerTest):
NoMethodError: undefined method `is_admin?' for #<Sc::QuestionsController:0x000000067749c0>

Что мне нужно сделать, чтобы мои функциональные тесты могли видеть мои динамически созданные методы?

...