В представлении я создаю HTML-холст с фигурами на основе данных модели в приложении. В представлении я предварительно загружаю данные модели JSON на страницу следующим образом (чтобы избежать первоначального запроса назад):
<script type="text/javascript" charset="utf-8">
<% ActiveRecord::Base.include_root_in_json = false -%>
var objects = <%= @objects.to_json(:include => :other_objects) %>;
...
Основываясь на взаимодействии с мышью (или касанием), я хочу перенаправить на другие части моего приложения, которые относятся к конкретному контроллеру (например, просмотр, редактирование, удаление и т. Д.).
Вместо того, чтобы жестко кодировать URL-адреса в моем JavaScript, я хочу сгенерировать их из Rails (что означает, что он всегда адаптируется к последним маршрутам).
Кажется, у меня есть один из трех вариантов:
- Добавить пустой атрибут к модели, которую контроллер заполняет соответствующим URL-адресом (мы не хотим использовать маршруты в модели), перед тем как будет сгенерирован JSON
- Создайте пользовательский JSON, куда я добавляю различные URL-адреса вручную
- Создание URL-адреса в качестве шаблона из Rails и замена идентификаторов в JavaScript в зависимости от ситуации
Я начинаю склоняться к # 1 для простоты реализации и удобства обслуживания.
Есть ли другие варианты, которые мне не хватает? Разве # 1 не самый лучший?
Спасибо!
Chris