Я думаю, вы можете сделать это очень простым способом ... Предположим, ваша кнопка загружена на индексную страницу: -
#index.html.erb
.....
#Your index page code
.....
<%= link_to “customer path”, customer_path, class: "css-class", remote: true %> ## create button with remote true for ajax call
<%= link_to “product path”, product_path, class: "css-class", remote: true %> ## create button with remote true for ajax call
<div id = "customer-section"> </div> #div to load partials
<div id = "product-section"> </div> #div to load partials
В вашем контроллере:
#controller.rb
def customer
#customer code here
respond_to do |format|
format.js {}
end
end
def product
#product code here
respond_to do |format|
format.js {}
end
end
Создать js file: -
# customer.js.erb
$("#customer-section").html("<%=j render "customer")%>");
# product.js.erb
$("#product-section").html("<%=j render "product")%>");
Создать частичный html файл для рендеринга: -
# _customer.html.erb
<h1>This is customer partial</h1>
# _product.html.erb
<div>This is product partial</div>
Таким образом, вы можете выполнить вышеуказанные требования. Для получения дополнительной информации вы можете обратиться к этой статье https://m.patrikonrails.com/how-to-make-ajax-calls-the-rails-way-20174715d176
Надеюсь, это поможет вам. :)