论坛首页 入门技术论坛

P145 将支付类型保存到数据库

浏览 1615 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-09-13  
将007_create_pay_types.rb改造成:
class CreatePayTypes < ActiveRecord::Migration
  def self.up
    create_table :pay_types do |t|
      t.column :name, :string, :null => false
    end
     
     PayType.create(:name=>'汇款')
     PayType.create(:name=>'支票')
     PayType.create(:name=>'信用卡')
     
     execute "alter table orders add constraint fk_orders_pay_types \
      foreign key (pay_type_id) references pay_types(id)"

  end

  def self.down
    execute 'alter table orders drop foreign key fk_orders_pay_types'
    drop_table :pay_types
  end
end


删除orders表,将order.rb对应位置改造成:
  validates_presence_of :name,:address,:email,:pay_type_id
  validates_inclusion_of :pay_type_id, :in => PayType.find(:all).map {|p| p.id}


视图checkout.rhtml中对应位置改为:
<%= form.select :pay_type_id,
                PayType.find(:all).map {|p| [p.name, p.id]},
                :prompt => "请选择付款方式!" %>
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics