Dan*_*anS 4 gem ruby-on-rails-3
我希望我的门卫视图使用应用程序布局:
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>
Run Code Online (Sandbox Code Playgroud)
为什么是这样?帮助者在app/helpers/application_helper.rb
小智 8
如果您生成视图并将它们放入,app/views/doorkeeper/**那么引擎仍然使用门卫控制器.
要解决此问题,您必须将助手包含在引擎中ApplicationController.假设你有这样的事情:
module ApplicationHelper
def my_helper
"hello"
end
end
Run Code Online (Sandbox Code Playgroud)
<p>
<%= my_helper %>
</p>
Run Code Online (Sandbox Code Playgroud)
在将应用程序助手包含在门卫控制器中之前,这将不起作用.所以在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
Run Code Online (Sandbox Code Playgroud)
当您要自定义布局时,这是类似的配置.
| 归档时间: |
|
| 查看次数: |
2309 次 |
| 最近记录: |