create table products (
id int not null auto_increment,
title varchar(100) not null,
description text not null,
image_url varchar(200) not null,
price decimal(10,2) not null,
date_available datetime not null,
primary key (id)
);
在config\database.yml文件中,你可以找到数据库连接的参数。方便而安全。
以上的SQL语名创建了表products,在ROR中,以下的语句就会产生让你兴奋不已的效果
> ruby script/generate scaffold Product Admin
如果数据库的列发生变化,只需再做一次 ruby script/generate scaffold Product Admin即可。
验证也是如此简单:
验证应放在MVC的M即model层中
在app/models/product.rb 的Product类中
class Product < ActiveRecord::Base
validates_presence_of :title, :description, :image_url
end
validates_presence_of validates_numericality_of validates_uniqueness_of validates_format_of 都是内置的方法 看看正则表达式的使用
validates_format_of :image_url,
:with => %r{^http:.+\.(gif|jpg|png)$}i,
:message => "must be a URL for a GIF, JPG, or PNG image"
也可以自己定义验证
protected
def validate
errors.add(:price, "should be positive") unless price.nil? || price > 0.0
end