2011-09-06 13 views
5

Bez zbytniej ilości konkretnych kodów jest to po prostu niejasne, ale dostarczę co mogę.Sposób dodawania before_filter z silnika do aplikacji

Biorąc pod uwagę silnik szyny, podstawowy silnik, a nie montowalny silnik w swojej własnej przestrzeni, w jaki sposób udostępnić aplikacjom metody z silnika jako filtr_w przypadku sterowników aplikacji?

Przeglądałem kod Devise, ponieważ to, co chcę, jest podobne do mojego doświadczenia z Devise, ale przyznaję, że nie rozumiem wielu z tego, do czego zmierzam.

Mogę to zrobić, jeśli wstawię include Myengine::Mymodule w kontrolerach aplikacji, gdzie chcę mieć dostępne metody filtrowania, ale chcę, aby możliwe było użycie tych metod bez konieczności dołączania modułów.

Jest to najnowsza blokada, której celem jest przekształcenie aplikacji szyny w silnik, który ma być używany przez wiele aplikacji railsowych, a wszelkie wskazówki dotyczące uzyskania odpowiedniego poziomu nazw, konfiguracji modułów itp. Są mile widziane.

Odpowiedz

5

Gdybym rozumieć poprawnie można użyć inicjator, na przykład:

module MyEngine 
    class Engine < Rails::Engine 
     initializer "myengine.load_helpers" do 
      ActiveSupport.on_load(:action_controller) do 
       include MyEngine::Helpers 
      end 
     end 
    end 
end 
+0

mogę spróbować tego, ale można wyjaśnić, co to właściwie jest? – blueblank

+0

To działało, dziękuję. – blueblank

Powiązane problemy