⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 store_controller.rb

📁 用NETBEANS编的
💻 RB
字号:
# Copyright (c) 2006 The Pragmatic Programmers, LLC.# Reproduced from the book "Agile Web Development with Rails, 2nd Ed.",# published by The Pragmatic Bookshelf.# Available from www.pragmaticprogrammer.com/titles/rails2# # Permission is hereby granted, free of charge, to any person obtaining a copy# of this source code (the "Software"), to deal in the Software without# restriction, including without limitation the rights to use, copy, modify,# merge, publish, distribute, sublicense, and/or sell copies of the Software,# and to permit persons to whom the Software is furnished to do so, subject to# the following conditions:# # 1) This Software cannot be used in any training course or seminar, whether# presented live, via video, audio, screencast, or any other media, without# explicit prior permission from the publisher.# # 2) The above copyright notice and this permission notice shall be included in# all copies or substantial portions of the Software.# # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN# THE SOFTWARE. class StoreController < ApplicationController    #START:before_filter  before_filter :find_cart, :except => :empty_cart  #END:before_filter    def index    @products = Product.find_products_for_sale  end  def add_to_cart    begin                           product = Product.find(params[:id])      rescue ActiveRecord::RecordNotFound      logger.error("Attempt to access invalid product #{params[:id]}")      redirect_to_index("Invalid product")    else      @current_item = @cart.add_product(product)      redirect_to_index unless request.xhr?    end  end  def empty_cart    session[:cart] = nil    redirect_to_index  end  #START:checkout  def checkout    if @cart.items.empty?      redirect_to_index("Your cart is empty")    else      @order = Order.new    end  end  #END:checkout    #START:save_order  def save_order    @order = Order.new(params[:order])      @order.add_line_items_from_cart(@cart)    if @order.save              session[:cart] = nil      redirect_to_index("Thank you for your order")    else      render :action => :checkout    end  end  #END:save_order  private    def redirect_to_index(msg = nil)    flash[:notice] = msg if msg    redirect_to :action => :index  end      #START:find_cart  def find_cart    @cart = (session[:cart] ||= Cart.new)  end  #END:find_cart<end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -