2011-12-20 2 views
2

Я пишу свой собственный рубиновый камень, и мне нужно использовать метод url_for ActionView. Я просто хочу знать, как я могу использовать этот метод в своем драгоценном камне с определенными маршрутами в моем приложении rails для генерации URL-адресов, отправив параметры методу controller, action (и т. Д.).Как использовать метод url_for в моем собственном камне

ответ

2

Простой подход - передать объект вида из приложения в ваши методы драгоценных камней, когда это необходимо.

Например, шаблон ваше приложение может сказать:

<%= some_gem_method(self) %> 

И камень может реализовать метод, как:

def some_gem_method view 
    view.url_for controller: "widgets", action: "show" 
end 
+0

Обратите внимание, что все URL хелперы также доступны в модуле 'Rails.application .routes.url_helpers', если вам нужно пройти маршрут поиска зависимостей, а не инъекции зависимостей;) Инъекционная инъекция обычно лучше для тестирования. – d11wtq

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