Двигатель, устанавливаемый на рельсы, и блокирующий другой двигатель

Я занимаюсь преобразованием своего стандартного приложения Rails в монтируемый движок. Приложение сравнимо со стандартным приложением для ведения блога, и я хочу, чтобы каждая модель, контроллер и представление были расширяемыми, поэтому я выбрал монтируемый движок.

Одним из драгоценных камней, которые я использую, является Devise, который, насколько я понимаю, сам по себе является своего рода устанавливаемым двигателем. Его можно использовать внутри устанавливаемого двигателя, как указано здесь .

Я могу использовать его частично в моем движке. Все работает нормально, включая некоторые контроллеры Devise, которые я переопределяю, как этот:

# config/routes.rb

Bbronline::Engine.routes.draw do
  devise_for :users, class_name: "Bbronline::User", module: :devise,
    controllers: { registrations: "bbronline/devise_overrides/registrations"}
   ...

# controllers/bbronline/devise_overrides/registrations_controller.rb
require_dependency "bbronline/application_controller"

module Bbronline

class DeviseOverrides::RegistrationsController < Devise::RegistrationsController

  def new_intermediair
    @user = User.new
  end
 ...

Правильное представление «views/bbronline/devise _overrides/registrations/new _intermediair.html.haml» также правильно загружается, как и ожидалось.

Однако моя проблема заключается в том, что представления, которые я переопределяю без пользовательского контроллера, загружаются неправильно. Например, представление, которое должно отображать вход в систему, находится в views/bbronline/devise/sessions/new.html.hamlи не загружается. Вместо этого загружается стандартное представление входа в Devise, т.е.devise-2.1.0/app/views/devise/sessions/new.html.erb

Конечно, я мог бы решить эту проблему, переопределив каждый контроллер своим собственным контроллером, как я сделал с контроллером Registrations _выше, но это выглядит очень некрасиво. Является ли переопределение каждого контроллера способом сделать это? Есть ли более удобный способ переопределить виды из монтируемого движка из другого монтируемого движка?

6
задан prusswan 21 November 2013 в 03:28
поделиться