Я использую Rails 5.2.3 и ruby 2.4.0p0
У меня уже есть приложение rails, теперь я создал новый движок Rails с некоторыми функциями, которые я включил в основное приложение как:
В gemfile:
gem 'myengin', path: '/home/vidur/rails_apps/myengin'
Для маршрутизации:
mount Myengin::Engine => "/myengin", as: "myengin"
Я хочу показать страницы в смонтированном движке внутри макета основного приложения, чтобы сделать этоЯ расширил контроллер приложения основного приложения в контроллере приложения смонтированного движка следующим образом:
module Myengin
class ApplicationController < ::ApplicationController
protect_from_forgery with: :exception
end
end
После этого он отобразит макет основного приложения, но выдаст ошибки маршрутизации.не обнаружит маршрутизацию основного приложения на этих страницах и покажет неопределенную ошибку маршрутизации, но они существуют в файле rout.rb в основном приложении.Пример:
undefined local variable or method `tukabank_cart_path' for #<#<Class:0x00000004e353b0>:0x00000004e237f0>
определен в основном приложении routed.rb как:
resource :tukabank_cart, only: [:show]
Аналогично для других маршрутов все переменные, определенные как _path
, дают триггеру неопределенную ошибку, но ониопределены.
Почему маршрут не обнаруживается на страницах с установленным двигателем?Есть ли способ обойти или я должен оставить макет основного приложения свободным от переменной _path
основного приложения?