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