将007_create_pay_types.rb改造成:
删除orders表,将order.rb对应位置改造成:
视图checkout.rhtml中对应位置改为:
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 => "请选择付款方式!" %>