После изучения некоторой реакции-маршрутизатора и маршрута ember, я действительно ценю идею вложенных ui.Рельсы вложенные макеты - можно использовать turbolinks 3 заменить частичные?
Пытается выяснить, как можно протолкнуть частички в divs в «родные» рельсы и наткнулся на этот простой способ редактирования чего-то на месте.
планы/index.html.erb
<% @posts.each do |post| %>
<div id="content">
<a onclick="Turbolinks.visit('/posts/8/edit', {change: 'content'})" >Edit</a>
</div>
<% end %>
планы/edit.html.erb
<div id="content">
<%= form_for @post do |form| %>
<%= form.text_field :name %>
<% end %>
</div>
Поскольку оба файла имеют id="content"
он правильно ставит edit.html.erb
содержимое в файл индекса на месте сохраняя остальную часть состояния страницы.
Мне нравится, как это чувствуется, гораздо приятнее, чем создание удаленного запроса, добавление действия контроллера, создание нового файла js.erb, а затем принудительное обновление dom с помощью jquery. Было бы очень удобно создавать что-то вроде вложенного содержимого с вкладками или страниц мастера/подробностей с простым html.
Однако с кодом выше, как я могу получить доступ к идентификатору сообщения в вызове Turbolinks.visit
? В настоящее время я просто жестко закодировал его до идентификатора, который я знаю, чтобы узнать, смогу ли я его запустить и работать. Но теперь, когда я не могу понять, как поместить идентификатор сообщения во вложенную строку.
Это приводит к следующему пути: 'HTTP: // локальный: 3000/сообщений/# {post.id}/edit' – tehfailsafe
Спасибо за редактирование, но не понимая, не было проблема. Если двойные кавычки обертывают одинарные кавычки, интерполяция строк не работает, она буквально добавляет '# {post.id}' к запросу. – tehfailsafe