Rails 3 — использование link_to, но добавление # для глубокой ссылки AJAX

В настоящее время мои ссылки в Rails используют link_to следующим образом:

<%= link_to project.name, project %>

Что делает что-то вроде: <a href="/projects/1">Project 1</a>

Я работаю над реализацией приложения AJAX с глубокими ссылками, поэтому вместо приведенного выше я хочу, чтобы вывод был (с #): <a href="#/projects/1">Project 1</a>

Есть ли способ заставить это работать с link_to? Или мне нужен какой-то пользовательский помощник, чтобы я мог использовать что-то вроде link_deep_to

Спасибо


person AnApprentice    schedule 03.10.2010    source источник


Ответы (1)


Я рекомендую вместо <a href="#/projects/1">Project 1</a> иметь

<a href="/projects/1" class="deep_linker">Project 1</a>

А затем используйте jQuery для присоединения ко всем ссылкам с классом deep_linker. Таким образом, ваш javascript не будет навязчивым.

person Jesse Wolgamott    schedule 03.10.2010
comment
Хм, интересно... Что плохого в том, чтобы сделать это в Rails? Кроме того, не будет ли это огромным ударом по производительности браузера клиента? - person AnApprentice; 04.10.2010
comment
Нет, вы не заметите, как jQuery выберет a.deep_linker, а затем прикрепит его к событию click. Нет ничего плохого в том, чтобы делать то, что вы сказали, но это гарантирует, что это не будет работать в среде, отличной от ajax. - person Jesse Wolgamott; 04.10.2010
comment
Стрелять. поэтому я использую jQuery BBQ для глубоких ссылок, и это не будет хорошо работать с этим плагином .... так что какие-нибудь решения для создания link_deep_to в рельсах? Так тип помощника? Я согласен, что это не очень хорошо для env без ajax, но я знаю очень мало таких. И мое приложение не должно сканироваться Google. Я тоже не хочу так рано перенаращивать? - person AnApprentice; 04.10.2010