Mam Rails Engine, który chciałbym udostępnić układ z aplikacji kontenera. Chciałbym wesprzeć wszystkich pomocników adresów URL z układu głównego aplikacji, aby uczynić integrację banalną. Że jest wspieranie układów z pomocników z aplikacji kontenera:Silnik szyn z izolowanym obszarem nazw Udostępnianie układu
= link_to "Signup", new_user_path
= link_to "Login", new_user_path
...
Powoduje:
niezdefiniowana zmienna lokalna lub metoda `new_user_path” dla # < #: 0x007f9bf9a4a168>
I można to naprawić, zmieniając plik application.html (w aplikacji kontenera) na:
= link_to "Signup", main_app.new_user_path
= link_to "Login", main_app.new_user_path
Ale celem jest sprawienie, aby integracja silnika nie wymagała od użytkowników wprowadzania zmian w istniejącym funkcjonowaniu application.html
.
Wierzę, że mogę również naprawić błędy usuwając isolate_namespace Example
z lib/example/engine.rb
, ale to zepsuje prawie wszystko w silniku.
W jaki sposób umożliwić pomocnikom aplikacji do kontenerów i jawnie przestrzeni nazw moich pomocników do silników, aby uniknąć konfliktów? (tj. za pomocą example.root_path
zamiast root_path
)?