Я создал RoR-приложение и хочу добавить простой блог в качестве движка, который уже установлен в / blog, где пользователи могут вести свой собственный блог. Теперь я не нашел ничего, как я могу использовать модель user.rb в моем движке блога.

В моем основном приложении я могу использовать current_user.username, но в моем движке я не могу его использовать.

0
Evolutio 24 Дек 2016 в 16:26

1 ответ

Лучший ответ

Есть (по крайней мере) два способа добиться этого:

  1. Наследуйте свой класс контроллера от ApplicationController главного приложения:

    class MyEngine::ApplicationController < ::ApplicationController
    end
    

    Таким образом, он будет иметь доступ ко всем тем же помощникам, которые уже были там настроены. Как недостаток, это также может привести к нежелательной функциональности.

  2. Вручную включите помощники контроллера Devise:

    class MyEngine::ApplicationController
      include Devise::Controllers::Helpers
      define_helpers(Devise.mappings[:user])
    end
    
1
milgner 24 Дек 2016 в 17:28