ruby-on-rails-3 – 隔离引擎(门卫) – 使用main_app中的帮助方
发布时间:2020-12-17 03:46:27 所属栏目:百科 来源:网络整理
导读:我希望我的门卫视图使用应用程序布局: https://github.com/applicake/doorkeeper/wiki/Customizing-views 它包含主应用程序中的路由和辅助方法. 对于路由,我可以将main_app添加到路径前面,但是对于帮助器方法,我得到以下错误: undefined method `is_active
我希望我的门卫视图使用应用程序布局:
https://github.com/applicake/doorkeeper/wiki/Customizing-views 它包含主应用程序中的路由和辅助方法. 对于路由,我可以将main_app添加到路径前面,但是对于帮助器方法,我得到以下错误: undefined method `is_active?' for #<ActionDispatch::Routing::RoutesProxy:0xade808c> <li class="<%= main_app.is_active?("high_voltage/pages","api") %>"><%= link_to t('developers'),page_path('api') %></li> 为什么是这样?帮助程序位于app / helpers / application_helper.rb中 解决方法
如果您生成了视图并将它们放在app / views / doorkeeper / **中,那么引擎仍然使用门卫控制器.
要解决此问题,您必须将助手包含在引擎的ApplicationController中.假设你有这样的事情: 应用程序/佣工/ application_helper.rb module ApplicationHelper def my_helper "hello" end end 应用程序/视图/门卫/应用/ index.html.erb <p> <%= my_helper %> </p> 在将应用程序助手包含在门卫控制器中之前,这将不起作用.所以在config / application.rb中: class YourApp::Application < Rails::Application config.to_prepare do # include only the ApplicationHelper module Doorkeeper::ApplicationController.helper ApplicationHelper # include all helpers from your application Doorkeeper::ApplicationController.helper YourApp::Application.helpers end end 当您要自定义布局时,这是类似的配置. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |