Я использовал приложение, использующее рельсы, и когда я нажимаю на значок продукта, будет отображаться выбранный продукт, но он всегда заменяет продукт, я пытаюсь сохранить выбранные продукты.
Вот контроллер:
def index
@products= CustomerProduct.all
end
def selected_product
@selected_product = CustomerProduct.find(params[:id])
end
Вот индексный указатель: (Показывает все продукты и div, которые будут обновляться)
<% @products.each do |product| %>
<p><%= product.product_code %>
<%= product.product_name %>
<%= product.product_price %>
<%= link_to_remote image_tag("image.png"),:url=>{:controller=>"customer_product",:action=>"selected_product",:id=>product.id } %>
</p>
<% end %>
<div id="list_products">
## Here is the div that will update after select a product.
</div>
Вот обновление ajax, которое заменит div: "selected_product.rjs"
page.replace_html("list_products", :partial=>"customer_product/partials/add_product")
Вот частичный вид add_product, который отобразит выбранную информацию
<% @products.each do |product| %>
<p><%= product.product_code %>
<%= product.product_name %>
<%= product.product_price %>
</p>
<% end %>
Работает нормально, но всегда заменяет div list_products
Есть ли способ добавить выбранный продукт каждый раз, когда я выбираю продукт?
Пожалуйста, кто-нибудь может мне помочь?
Я буду очень благодарен за помощь.
Вместо использования page.replace_html
вы можете сделать что-то вроде этого
page.insert_html(:bottom, "list_products", :partial=>"customer_product/partials/add_product")
page.replace_html
кажется, работает как задумано