2014-12-31 5 views
0

Я должен пути помощникам: automobile_albums_path и community_albums_path модель Альбом принадлежит полиморфных владельца и я хочу поставить ссылку на другие альбомы владельца текущего альбома с помощью @album модели.Динамический вспомогательный индекс путь

Так что я хочу, чтобы написать что-то вроде этого:

link_to @album.owner.albums 

Но это не работает. Я хочу, чтобы не использовать аргумент case, чтобы выбрать правильный помощник. Есть ли универсальный?

ответ

1
# app/helpers/application_helper.rb 
module ApplicationHelper 
    def albums_path(owner) # change the name if it will collide with a route helper 
    Rails.application.routes.url_helpers.send "#{owner.class.name.downcase}_albums_path" # add the owner as a second param to 'send' if needed 
    end 
end 

Отредактировано!

+0

Улучшенная версия: Rails.application.routes.url_helpers.send "# {owner.class.name.underscore} _albums_path", владелец – atomAltera

Смежные вопросы