将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 => "请选择付款方式!" %>
分享到:
相关推荐
内容概述:SQL Server数据库相关内容,对应张磊著《SQL Server数据库应用技术项目化教程》中145页实现任务(2)所对应的源码。代码经个人运行后无误,如果下载后运行有误请检查数据库配置环境。上传上来方便各位阅读和...
它能够将连续变化的模拟信号转换为离散的数字信号,以便于微处理器进行处理和分析。ADC0809具有8个输入通道,可以连接多个模拟信号源,并且每个通道都有单独的使能控制,用户可以根据需要选择要转换的通道。 在...
在避免死锁的方法中,所施加的限制条件较弱,有可能获得令人满意的系统性能。在该方法中把系统的状态分为安全状态和不安全状态,只要能使系统始终都处于安全状态,便可以避免发生死锁。 银行家算法的基本思想是分配...
第145页可能涉及到函数式编程的概念,如柯里化(Currying)、闭包或者如何使用Scala进行类型安全的DSL(领域特定语言)设计。 通过这些资源,学习者可以从不同角度和深度了解Scala,逐步掌握其强大的功能和设计理念...
2.54mm引脚间距PGA封装Pin Grid Array Package (PGA)-AD封装库(PCB库).PcbLib PGA26x26-P37 PGA27x27-P68 PGA27x27-P68/X1.4 PGA27x27-P84 PGA27x27-P100 PGA27x27-P141 PGA28x28-P68 ...PGA39x39-P145/X1.5
5. **IP地址和子网掩码**:P145页,IP地址172.16/2应为172.16/12,这关乎到子网划分的正确性。 6. **传输层与运输层**:P147页,"运输层"应为"传输层",是TCP/IP协议栈的层次区分。 7. **路由与交换**: - P373页...
- 从设备树的 `/memreserve` 字段和 `/reserved-memory` 节点中读取保留的物理内存范围,并将其添加到 `memblock.reserved` 中。 - **数据结构**: - `struct memblock`: 包含了 `memory`, `reserved`, `physmem` ...
第五部分(part5(p145-185).pdf)详细介绍了立体视觉和三角测量,这是从两视图中恢复三维结构的基本方法。这部分内容不仅涉及理论,还包括实际计算过程,对于理解深度信息的获取至关重要。 第六部分(part6(p185-...
2. **学习辅导型**:例如《英语百分百》,将教学活动分解为各个单元,便于学生自主学习,具有较强的交互性。 3. **课堂演示型**:如Shuma.swf,主要用于解决教学中的重点和难点,辅助教师课堂教学。 4. **练习测试型...
第十章 流水线技术流水线的基本概念(P139)将一个处理过程划分为多个子过程,每个子过程在独立的功能部件中并行执行。流水线的性能指标(P140)吞吐率、加速比、效率。流水线的建立、分解与数据相关问题(P141)...
在本文中,我们将深入探讨昆明市三瓦村废旧物资回收处理中心工程的毛石挡土墙施工的具体方法和要求。 一、工程概况 该工程位于昆明市东郊黄龙山东侧,是一项浆砌毛石重力式挡土墙的建设任务,涉及到仓库、办公楼、...
从电子政务的概要、发展历程到政府管理模式的变革,再到运营理念、内部公务处理、法制环境与信息安全,以及实施与评估,每一个环节都体现了信息技术对政府工作的影响和提升。随着新技术的不断发展,如云计算、大数据...
计算机网络是信息技术领域中的核心组成部分,涵盖了从数据传输到网络协议的多个方面。在准备OUC2022秋季学期的期末考试时,理解并掌握这些关键知识点至关重要。以下是对考试重点的详细阐述: 首先,了解三种基本的...
最后,文档提到了具体的【PortI/O】配置,建议用户参考相关的中文数据手册(如[02X中文数据手册Rev1.4]P145和P150)来完成配置。手册中详细说明了交叉开关优先权译码器设置以及引脚配置为模拟输入时上拉部件的禁止等...
这通常涉及到在路由器上启用RIP进程,并将相关的接口加入到RIP进程中。 - **步骤5至步骤6**:具体配置Router1和Router2上的RIP v2协议,并验证路由信息是否已经成功传播。 - **步骤7**:通过比较配置前后的路由表...
学习的观念。在这个知识经济时代,只有具备终身学习的能力,才能适应社会发展的要求,不断获取新的知识和技能,提升自我。...通过这些知识点的学习,学生将更好地理解如何选择和规划自己的人生,以拥抱美好的未来。
市场调查不仅包括了解消费者的基本需求,甚至深入到消费者自身可能未意识到的细节,如可口可乐公司对消费者饮水习惯的研究。 在美国,许多企业视市场调查为关键的营销策略,约5%的企业设有专门的市场调研部门。这些...
接下来,通过一系列练习题加深对追及问题的理解,如甲乙两人相向而行的相遇问题,其中涉及到路程、时间和速度之间的基本关系:路程=速度×时间。通过变换题目,如相遇后的继续行驶时间,或者改变出发时间,让学生...
1. 债券的收益率:在P145页,原有的"二、债券的收益率"应更正为"三、债券的收益率",表明这个部分在教材中的顺序有误。 2. 公司增长率计算:在P160页,ABC公司的增长率计算公式被指出有误,正确的计算方法应该是...
* 整点报时:到达整点时以第八位数码管闪烁的方式报时,使用‘8’作为闪烁的容,闪烁频率为2Hz,持续时间从xx.00.00到xx.00.05 (二)、发挥部分: * 闹钟功能:在以上基础上考虑增加定时闹铃功能 * 12/24小时制...