Основные рельсы - Как работает link_to и как заменить его на рендер - PullRequest
1 голос
/ 01 марта 2012

Я очень новичок в Rails, но столкнулся с проблемой, которую не могу обернуть.

У меня есть ссылка, использующая вспомогательный метод link_to:

<%= link_to("Link",  {:controller => 'gitrevision_download', :project_id => @project.id, :rev => @rev}) %>

Эта ссылка затем выводит меня на новую страницу и вызывает метод индексации контроллеров gitrevision_download. Все, что я хочу сделать, - это отобразить этот индексный шаблон внутри шаблона, в котором я уже работаю, а не как ссылку.

Редактировать: только что понял, что эта функция работает не так, как я думал. Она отображает данные после вызова ссылки, и обработчик маршрутов должен перенаправить меня на нужный контроллер.

Итак, мне нужно визуализировать представление индекса с этого контроллера, с другого контроллера. Это плохая практика?

1 Ответ

5 голосов
/ 01 марта 2012

Лучшее место для объяснения функциональности Rails - документация ; это действительно удивительно хорошо сделано!

Чтобы ответить на ваш вопрос более прямо:

  1. Первый параметр, как вы, вероятно, вывели, это имя ссылки.
  2. Второй параметр передается генераторам URL-адресов Rails для создания места назначения ссылки. Передавая хеш, вы указываете Rails сгенерировать URL для конкретного контроллера и действия внутри этого контроллера. Вы также можете передать именованный помощник URL (например, submissions_path).
  3. Третий параметр - это параметры HTML, который добавляется непосредственно к элементу - например, присваивает классы и заголовки, и отображается как <a class="specified-classes" title="specified-title" ...> и т. Д.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...