У меня есть приложение для рельсов, которое немного набрало обороты, но у меня серьезная головная боль. Это базовый тип приложения для управления активами - пользователи загружают свои фотографии, PDF-файлы, видео и т. д., И система позволяет им управлять тем, как этот актив представлен.
Я начал с довольно стандартного представления rails - именно того, что создается rails - для index.html.erb. У меня есть партиал, который отображает миниатюру для каждого из активов и что-то вроде этого:
<div id = "preview"> </div>
Я хочу, чтобы миниатюра была интерактивной (достаточно простой), но когда пользователь нажимает эту кнопку, содержимое div будет заполнено, ну, по сути, edit.html.erb, но я предполагаю, что это должно быть сделано как частичное. Я уже справился с этим с помощью прямого javascript.
У меня есть доступ к предварительной версии новой книги «Agile Development on Rails», которую любой может получить через издателя, но глава об AJAX очень минимальна и предполагает больший опыт работы с этими вещами, чем у меня. мой первый набег на javascript и рельсы.
ОБНОВЛЕНИЕ: в ответ на «какой вопрос» «ответ», хотя я думал, что это довольно ясно:
Что мне нужно вставить в фрагмент эскиза, чтобы щелчком по нему была загружена форма редактирования в div?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


вам нужно использовать link_to_remote:
<%= link_to_remote image_tag('whatever.jpg'),
{:controller => 'something', :action => 'replace_thumbnail', :id => @thumbnail.id},
:update => 'preview' %>
и в контроллере у вас должно быть это действие:
def replace_thumbnail
image = Image.find(params[:id])
render :partial => 'edit', :object => image, :layout => false
end
убедитесь, что ваш партиал называется _edit.html.erb