我在寫一個Rails引擎,並且在我的一個視圖中,我想創建一個指向main_app的鏈接(如果存在命名路由)。Rails:link_to只有在路由存在的情況下
我舉一個例子來闡明這個問題: 主應用程序可能會或可能不會在routes.rb中定義:
resources :my_resource, only: :index
在我的rails引擎,我需要添加一個鏈接只有到my_resource_path main_app定義該路線。我認爲它應該是這樣的:
<%= link_to "Link", main_app.my_path if my_resource_path_exists? %>
我想:
<%= link_to "Link", main_app.my_resource_path if
main_app.respond_to?(:my_resource_path) %>
但是,當路徑不存在,即提高NoMethodError:
undefined method `my_resource_path' for #<Module>
如何my_resource_path_exists?方法可以執行?我使用的紅寶石2.2和4.2軌道
的問題是關於:Determine if path exists as route in Rails controller 但在這種情況下,我有一個名爲路線(my_resource_path),所以我需要的東西略有不同,但不能由我自己弄清楚。
的[確定是否路徑路線的Rails控制器存在]可能的複製( http://stackoverflow.com/questions/3273715/determine-if-path-exists-as-route-in-rails-controller) –
我只是編輯問題來解釋差異 –