Макет Rails 3.1, указанный в контроллере, не перекрывает макет родительского контроллера при использовании Capybara / Selenium - PullRequest
3 голосов
/ 14 марта 2012

У меня есть базовый контроллер

class Admin::BaseController < ApplicationController
  before_filter :authenticate_admin!

  layout 'admin'
end

наследуется другим контроллером

class Admin::AdminsController < Admin::BaseController
  layout 'admin_bootstrap'

  ...actions

end

Где дочерний контроллер переопределяет макет, указанный в родительском контроллере.

При просмотре во время работы сервера все работает как положено.

Но когда я запускаю тесты на огурец, страницы отображаются с использованием макета «admin», а не макета «admin_bootstrap».

Я нахожусь в процессе перемещения этой части сайта для использования платформы начальной загрузки Twitter и выполняю ее по функциям (от контроллера к контроллеру), но это немного ослабило дух, поскольку ожидаемые функции JavaScript не работают (потому что ресурсы начальной загрузки не включены в макет администратора, но находятся в макете admin_bootstrap).

Я уверен, что мне просто не хватает чего-то глупого.

Любой совет очень ценится.

Лучший, Том

...