「line_items_controller.rb」の5行目がわかりません。Rails3.1のコードにはそのような行がありませんが、Rails3.2のコードにはそのような行があります。Javaの世界から、ここでどのような魔法のルビーが使用されているかを判断するのは難しいです:(私はRailsドキュメントの理解に固執していました。
たとえば、button_toにはsigniture button_to(name、options = {}、html_options = {})があります
しかし、コードでは、次のようなパラメータを追加できます
<%= button_to 'Empty cart', @cart, :method => :delete, :confirm => 'Are you sure?' %>
@cartはそこにあるべきではないと思います...
def create
@cart = current_cart #this is a function method
product = Product.find(params[:product_id])
@line_item = @cart.add_product(product.id)
@line_item.product = product
respond_to do |format|
if @line_item.save
format.html { redirect_to @line_item.cart }
format.json { render json: @line_item,
status: :created, location: @line_item }
else
format.html { render action: "new" }
format.json { render json: @line_item.errors,
status: :unprocessable_entity }
end
end
end
プロジェクトの完全なソースコードはこちら: https ://github.com/ilovejs/depot_i/blob/master/app/controllers/line_items_controller.rb