我有一个产品目录中的产品的价格字段。有时,管理员用户在处理数千个(例如:10,000美元)时会留下一个逗号,有时他只是在做6000美元。尽管我想简单地告诉他这样做,但我也想以编程方式解决问题。ruby/rails如何在订购时忽略逗号
的#show负责任的行动是在这里:
def show
@category = Category.find_by_url_name(params[:category_id])
@brand = Brand.find(params[:id])
@search = Product.find(:all, :conditions => ['brand_id = ? and category_id = ?', @brand.id, @category.id],
:order=> params[:order] || 'price DESC')
@products = @search.paginate(:page => params[:page], :per_page => 12)
@meta_title = "#{@brand.name}"
respond_to do |format|
format.html # show.html.erb
format.xml { render :xml => @brand }
end
end
我也有我的应用助手所提供的订购选项的网站用户sort_options帮手:
def product_sort_options
options_for_select([
['', nil],
['Newest to Oldest', 'descend_by_date'],
['Oldest to Newest', 'ascend_by_date'],
['Price: Highest to Lowest', 'descend_by_price'],
['Price: Lowest to Highest', 'ascend_by_price'],
['Name', 'ascend_by_name']
])
end
什么想法?
为什么你的价格是一个字符串,首先?!?将它保留为小数点,并在显示时用''''和','装饰。在输入时剥去它们。 – Amadan 2011-12-30 17:03:01
我可能应该有,但是,早在我的钢轨工作...不知道更好,现在有300个产品...所以改变他们会吸 – 2011-12-30 17:08:54
它不应该。请参阅下面的答案。 – Amadan 2011-12-30 17:26:08