我正在编写一个gem,我将在Rails 4中使用它。我可以从我的Gem中添加路由而不是在rails项目中的config / routes.rb吗?我希望它在gem中,所以我可以将它包含在多个Rails项目中,而不必配置每个Rails项目,而是在gem中执行一次。这可能吗?怎么样?
即:
如果我的路线是:
get 'test' => 'users#test'
怎么会转化为我的宝石。如果我的宝石被用作引擎,就像他在答案中建议的那样:
module Blorgh
class Engine < ::Rails::Engine
get 'test' => 'users#test'
end
end
这不起作用,我做错了什么?
答案 0 :(得分:2)
是的,如果你把宝石变成引擎,就有可能。
答案 1 :(得分:2)
Read the Engine Guide。基本上,您要在config / routes.rb(在您的gem文件夹中)创建文件并添加以下内容:
YourGemName::Engine.routes.draw do
get 'test' => 'users#test'
end