Я знаю, что эта проблема является типичной проблемой для веб-разработки.
Но я застрял в этой проблеме почти 3 часа.
Если вы можете мне помочь или дать мне подсказки, я ценю это.Прокрутить к примеру
Что я хочу сделать
После пользователь нажал на ссылку, автоматически перейти к определенной метке в следующем окне.
Последовательность
1. Пользователь на TaskWindow
2. Пользователь нажимает на ссылку, чтобы HistoryWindow на TaskWindow
3. Применение показывает HistoryWindow и перейти к конкретной метке автоматически.
Environment
рубин 2.1.1p76/Rails 4.2.0/CoffeeScript/Javascript
Что я пытался
Я попробовал два пути.
1: Использовать активы/JavaScripts/histories.coffee
активы/JavaScripts/histories.coffee
ready = ->
scrollToElement($('.history-group-<%= @group_histories.count-1 %>'));
scrollToElement = (ele) ->
$(window).scrollTop(ele.offset().top).scrollLeft(ele.offset().left)
Проблема
- Ошибка при
<%= @group_histories.count-1 %>
(Но если я пишу буквальный переменная, она работает.) - Другие контроллеры загружают этот файл кофе.
2: Использование истории/index.html.erb
истории/index.html.erb
....
<%= javascript_tag do %>
function scrollToElement(ele) {
$(window).scrollTop(ele.offset().top).scrollLeft(ele.offset().left);
}
scrollToElement($('.history-group-<%= @group_histories.count-1 %>'));
<% end %>
Проблема
- Не работает. Ничего не случилось.
Вопрос
Как метод лучше реализовать?
Спасибо за советы. Он корректно работает с литеральным значением, например '
Я действительно не понимаю ваш вопрос. Одним из важных факторов, которые, как я думаю, вам не хватает, является то, что хеш URL-адресов прозрачен для сервера по дизайну. Это означает, что вы не видите на сервере, если URL-адрес запроса содержит хэш. – max
Еще одна проблема, с которой вы столкнулись, заключается в том, что ваш скрипт использует '<% = @ group_histories.count-1%>', однако активы в Rails скомпилированы во время развертывания, а не за запрос, поскольку это будет очень медленно. Таким образом, счет быстро устанет. – max