0
如果我希望能够托管同一个rails引擎(bot)的多个实例,该怎么办?这将是独立的发动机(使用相同的代码),但使用不同的模型属性,数据等。如何安装多个导轨引擎?
这对我来说很有意义的唯一方法是安装独立的发动机(机器人)做这样的事情..
mount SomeENGINE, at: 'bot/:unique_id'
是这样做的吗?基本上每个引擎都有独立的Web钩子来识别每个引擎?
如果我希望能够托管同一个rails引擎(bot)的多个实例,该怎么办?这将是独立的发动机(使用相同的代码),但使用不同的模型属性,数据等。如何安装多个导轨引擎?
这对我来说很有意义的唯一方法是安装独立的发动机(机器人)做这样的事情..
mount SomeENGINE, at: 'bot/:unique_id'
是这样做的吗?基本上每个引擎都有独立的Web钩子来识别每个引擎?
是的,你的想法基本上可行。下面是在10种不同路线上安装10次发动机的示例:
Rails.application.routes.draw do
(1..10).each do |idx|
mount MyEngine::Engine => "/bot_#{idx}"
end
end
是否可以动态地实现这一点?例如基于模型ID?这样一个新的引擎在模型创建时被挂载? – echan00
是的,你应该可以。根据有关'mount'的文档(http://api.rubyonrails.org/classes/ActionDispatch/Routing/Mapper/Base.html#method-i-mount),它接受与“match”相同的选项,通配符参数。 –
我正在尝试这样但没有运气 - >挂载MyEngine :: Engine,在:'bot',路径:'bot /:id' – echan00