Как вы знаете, при обновлении с Rails 2 до 3 заменить это:для обновления элемента Использование Ненавязчивый JavaScript
link_to_remote "more", :url => {...}
с этим:
link_to "more", {...}, :remote => true
Но как справиться с: обновления в link_to_remote? В Railscast #205 Райан Бейтс демонстрирует link_to
с :remote
и ответ сервера, который включает код JavaScript для обновления определенного элемента на странице, но эта практика кажется мне неправильной. Я хочу, чтобы ответ моего сервера был простым фрагментом HTML, который легко тестировать и который может использоваться разными страницами (клиентами) по-разному. Я не думаю, что серверу нужно знать идентификатор целевого элемента на запрашивающей странице, поскольку он связывает действие со страницей (мини-клиент) и, следовательно, делает его менее общим (он также чувствует себя уродливее, чем чистый HTML-код) ответ).
Таким образом, чтобы быть явным, есть способ, чтобы сделать что-то вроде этого:
link_to_remote "more", :url => {...}, :update => "products-list"
с Rails 3 и UJS? Или мне нужно написать JavaScript, чтобы захватить ответ HTML сервера и вставить его в правый элемент на странице?
Если последний, пожалуйста, опишите наилучший подход (можно использовать вариант ?).
Это именно то, что я сказал, что я не хочу делать, потому что он связывает ответ сервера с элементом на странице («список продуктов»). Это не позволяет мне использовать один и тот же URL-адрес для обновления другой страницы, где я могу захотеть вставить тот же контент в элемент с другим идентификатором. –
, передайте идентификатор элемента, который вы хотите обновить до контроллера, и используйте его в представлении – ErsatzRyan