微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ruby-on-rails-3 – 从完整轨道引擎中的lib文件夹加载路由

我制作了一个完整的引擎并将一些插件转换为与引擎一起工作(我将它们放在lib /中)并将它们加载到初始化引擎中.rb

这是结构:

> app

>配置

> routes.rb

> lib

>插件

>配置

> routes.rb

在app / config / routes.rb的路由中,我有

Rails.application.routes.draw do
  match 'help',:to => 'help#index',:as => 'help'
  match 'login',:to => 'sessions#new',:as => 'login'
  match 'logout',:to => 'sessions#destroy',:as => 'logout'
  match 'loadtest',:to => 'loadtests#index',:as => 'loadtest'
end

在(lib / plugin / config / routes.rb)的第二个routes.rb文件我有这个:

Rails.application.routes.draw do
   match '/mailchimp/callback',:to => 'mailchimp#callback',:as => 'mailchimp_unsubscribe'
end

在我的engine.rb中的config / initializers /我把:

require "#{File.dirname(__FILE__)}/../../lib/plugin/config/routes"

现在,当我运行rake app:routes时,我将其作为输出

help  /help(.:format)     help#index
   login  /login(.:format)    sessions#new
  logout  /logout(.:format)   sessions#destroy
loadtest  /loadtest(.:format) loadtests#index

如何将插件中的路由添加到引擎路由?

解决方法

编辑config / application.rb并添加以下行:

config.paths["config/routes"] << Rails.root.join('lib/plugin/config/routes.rb')

它应该有效.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐