Я обновляю старое приложение на rails до версии 3.1. Приложение в основном работает, но мне нужно обновить некоторые ajax функции. (Если это имеет значение, я использую jquery и coffeescript)
Вся существующая функциональность ajax была написана с использованием render :updates. eg
render :update do |page|
page.remove "financial_tran_offset_#{params[:ftof_id]}"
page.replace_html 'details', :partial => 'details', :locals => {:obj => @fire}
end
Я думаю, что новый предпочтительный способ сделать это - использовать блок respond_to? для обработки js, но я не уверен в лучшем способе обработки этих различных случаев.
Для первого случая (page.remove
) я думаю, что с помощью линии передачи активов, я должен иметь внешний js в /app/assets/javascripts/ для обработки javascript стороны (например, page.remove), но я не уверен, как передать параметры в js файл. Я предполагаю, что можно сделать что-то вроде:
respond_to do |format|
format.js {:render :js => {:ftof => params[:ftof_id]}
end
но я не уверен, как это можно передать из js-файла. Это правильный способ передачи информации в js? Или есть другой метод, который я должен использовать?
Для второго случая (page.replace_html
) я думаю, что он был устаревшим/удален из 3.1 (согласно apidock). Я снова подозреваю, что это должно использовать js файл в каталоге app/assets/javascript, но не уверен, как я должен идти о рендеринге частичного и передавать эту информацию в js.
Спасибо за любые подсказки в этой области =)