1
セッション(DBに保存されたセッション)を使用した仮想ショッピングカートがあります。 AJAXコールを使用してカートに商品を追加します。このリストもソート可能です。 私が抱えている問題は、ショッピングカートが仮想であるため、カート内の製品のソート位置を更新することです。誰でも助けることができます(特にsortable_element:updateアクション)。ここでは、コードの一部です:このソリューションでデータベースなしで並べ替え可能なリスト
#cart.rb
class Cart
attr_reader :items
def initialize
@items = []
end
def add_product(product
@items << CartItem.new(product)
end
end
#cart_item.rb
class CartItem
attr_reader :product
def initialize(product)
@product = product
end
def name
@product.name
end
end
#cart/index.html.erb
<div id="items">
<%= render :partial => 'cart', :object => @cart %>
</div>
#cart/_cart.html.erb
<%= render :partial => 'cart_item', :collection => @cart.items %>
<%= sortable_element "items", :url => {:action => :update} %>
#cart/_cart_item.html.erb
<% content_tag_for :li, cart_item do %>
<p><%= cart_item.name %></p>
<% end %>
#cart_controller.rb
def index
find_cart
end
def update
#???? how does I change the sort of @cart?
render :nothing => true
end
def find_cart
session[:cart] ||= @cart
end
便利なおかげ必要なものをやると思います。 – Cameron