Отправляем запрос с помощью AJAX этот код будет выполняться каждый раз при загрузке страницы. Можно сделать запрос с помощью ссылки. Это роли не играет
<script>
jQuery(function(){
$.ajax({
url: ("/admin/order_detail_remote?order_id="+orderId),
type: 'GET'
});
})
</script>
Code language: JavaScript (javascript)
Сделаем контроллер который будет обрабатывать полученные данные
def order_detail_remote
@order = Shopping::Order.find(params[:order_id])
@order_id = params[:order_id]
if current_user.rep
if not ((@order.customer.division_reps.values.include? current_user.repcode) || (@order.customer.sales_rep_1 == current_user.repcode) || (@order.customer.sales_rep_2 == current_user.repcode))
@order = nil
end
end
respond_to do |format|
if @order
format.js { @order }
else
format.js { @error_remote_response = "Order information didn't find" }
end
end
Code language: Ruby (ruby)
Так как у мы используем «format.js» в ответе контроллера, мы должны использовать «app/views/admin/order_detail_remote.js.erb» обратите внимание на формат (‘js.erb’)
$("#<%= j (@order_id) %> .order_more-info").html("<%= escape_javascript(render partial: 'order_detail_remote', locals: { order_remote: @order, error: @error_remote_response } ) %>");
Code language: JavaScript (javascript)
Так же мы должны использовать ‘partial’ «app/views/admin/_order_detail_remote.html.erb». Эта часть кода будет нашим ответом запроса. В нашем случае мы отправим в div. Посмотрите еще раз на файл и обратите внимание на первую часть в коде выше.
Хорошие статьи
https://coderwall.com/p/kqb3xq/rails-4-how-to-partials-ajax-dead-easy
https://guides.rubyonrails.org/working_with_javascript_in_rails.html