【发布时间】:2011-02-28 10:44:21
【问题描述】:
大家好,我想知道是否有人可以帮助我,我需要清理这个控制器,因为生成的代码只是简单地更新已经存在的项目数量似乎太复杂了。
class LineItemsController < ApplicationController
def create
@product = Product.find(params[:product_id])
if LineItem.exists?(:cart_id => current_cart.id)
item = LineItem.find(:first, :conditions => [ "cart_id = #{@current_cart.id}"])
LineItem.update(item.id, :quantity => item.quantity + 1)
else
@line_item = LineItem.create!(:cart => current_cart, :product => @product, :quantity => 1, :unit_price => @product.price)
flash[:notice] = "Added #{@product.name} to cart."
end
redirect_to root_url
end
end
`
一如既往地非常感谢任何帮助,代码应该是相当不言自明的,谢谢:)
PS 把它贴在这里,看起来有点搞笑http://pastie.org/994059
【问题讨论】:
-
也许你应该更具体一点,我个人不喜欢“清理我的代码”问题。
-
@Joseph Silvashy,我不同意。这不是“清理我的代码”,而是“如何更好地利用 Rails 使我的代码看起来更干净” 学习更好的编程的一部分是让某人向您展示更好的做事方式。卡尔有足够的洞察力,知道他正在做的事情可以通过某种方式做得更好。
标签: ruby-on-rails ruby shopping-cart