2014-06-26 40 views
4

所以我有一個Rails引擎包含在Rails應用中。我想在我的一個引擎的控制器中執行類似redirect_to @record.polymorphic_relationship的操作,其中@record.polymorphic_relationshipPicture,它是父級應用程序中的一個模型。在父Rails應用中有一個picture_path路徑助手。重定向到父Rails應用的引擎內的路由

我覺得我應該能夠從引擎內重定向到父應用程序中的路線,使用main_app以某種方式。只是做redirect_to @record.polymorphic_relationship裏面的引擎控制器不起作用,因爲它抱怨沒有picture_url路線存在。這個相同的代碼在父應用程序中的控制器內工作。

如果我做的redirect_to main_app.send("#{@record.polymorphic_relationship_type.downcase}_path", @record.polymorphic_relationship),它的工作原理,但這似乎很拗口。有沒有更好的方法來做到這一點?

+0

您是否發現了更好的方法? –

+0

謝謝堆!我一直在這裏一個小時.. –

回答

4

redirect_to main_app.url_for(@record.polymorphic_relationship)

+0

非常感謝你! – mooreds

+0

它在軌道5.1.3中像一個魅力。 'main_app'是一個幫助程序,它允許您訪問Engine內部的應用程序路由http://api.rubyonrails.org/classes/Rails/Engine.html#class-Rails::Engine-label-Using+Engine-27s+routes+外面+引擎 – mario199