Tôi có móc nối trước trong bộ điều khiển ứng dụng chính của ứng dụng thực hiện như sau: (Nó không chỉ đặt liên kết trong flash, có thông báo, nhưng nó không liên quan đến câu hỏi, nó chỉ truy cập các tuyến đường trong phương pháp này)Các tuyến động cơ trong Bộ điều khiển Ứng dụng
class ApplicationController < ActionController::Base
before_filter :set_link
def set_link
flash[:notice] = items_path
end
end
này hoạt động tốt cho các ứng dụng, tuy nhiên khi tôi đi vào bộ điều khiển cho động cơ tôi đã làm tôi nhận được ngoại lệ
No route matches {:controller=>"items", :action=>"index"}
tôi hiểu khi ở trong động cơ, những người trợ giúp tuyến đường dành cho động cơ trừ khi tiền tố d với main_app
Vì vậy, việc thay đổi phương pháp trong điều khiển ứng dụng để
def set_link
flash[:notice] = main_app.items_path
end
Gets thoát khỏi ngoại lệ nhưng tôi thực sự không muốn phải làm điều đó. Có giải pháp nào khác để động cơ nhận ra các tuyến main_app không?
CHỈNH SỬA:
Điều này cũng xảy ra nếu bố cục ứng dụng gọi cho người trợ giúp đường dẫn. Vì vậy, nếu động cơ được thiết kế để tích hợp vào bố cục của main_app thì vấn đề này sẽ cắt lên đó.
Có gì sai với 'main_app'? Bên cạnh đó, tại sao bạn đang giới thiệu một phụ thuộc vào động cơ của bạn từ ứng dụng chính, theo cách này, công cụ của bạn phụ thuộc vào 'items_path' được định nghĩa trong ** mọi ứng dụng ** sử dụng nó. Đây không phải là một thực hành tốt, thông thường bạn chỉ nên sử dụng 'main_app.root_path', hoặc một số tuyến đường nổi tiếng khác (ví dụ nếu bạn sử dụng' dev_ sign_in_path'). – Fabio
items_path sẽ được xác định trong ứng dụng chính đã được tạo. Và tôi muốn có động cơ được gắn ở đâu đó nhưng được tích hợp vào bố cục của ứng dụng hiện tại. Động cơ chính nó không bao giờ tham khảo items_path cả. Tôi chỉ muốn các chế độ xem được tạo bởi công cụ để được đưa vào phần thân của bố cục ứng dụng. Tuy nhiên, bố cục ứng dụng cần truy cập vào các tuyến đường của main_app – Olives
Điều này xuất phát từ sự cần thiết phải có động cơ và ứng dụng chia sẻ cùng một bố cục. Bằng cách đó khi người dùng đi từ một trang trên ứng dụng chính, đến một trang trên công cụ, không có sự khác biệt rõ ràng giữa bố cục. – Olives