研究小计1

有时候对一些基础的东西,不知道它的边界在哪里,其实做些小实验就知道了.不知道其他人想过下面这样的问题没?

1.我们创建一个对象,直接保存到数据库,会是什么情况?
完整文字 id(integer) name(string) sex(string) age(integer) birthday(date) created_at(time) updated_at(time)
编辑 删除 1 NULL NULL NULL NULL 2011-04-19 15:32:39 2011-04-19 15:32:39

2.我们从数据库直接读出来会是什么结果呢?
#<User id: 7, name: nil, sex: nil, age: nil, birthday: nil, created_at: "2011-04-19 15:32:39", updated_at: "2011-04-19 15:32:39">

3.如果我们设置了默认值,重复上面的步骤会是什么结果呢?
完整文字 id name sex age birthday created_at updated_at
编辑 删除 1 NULL 男 0 2011-01-31 2011-04-19 15:42:40 2011-04-19 15:42:40
#<User id: 1, name: nil, sex: "男", age: 0, birthday: "2011-01-31", created_at: "2011-04-19 15:42:40", updated_at: "2011-04-19 15:42:40">

4.我们来做测试下的操作
测试的日志:
a.其他类型(string,integer,date,time,array,hash,nil)到string
>>u = User.new
u = User.new
=> #<User id: nil, name: nil, sex: "男", age: 0, birthday: "2011-01-31", created_at: nil, updated_at: nil>
?>u.name = "abc"
=> "abc"
>>u
=> #<User id: nil, name: "abc", sex: "男", age: 0, birthday: "2011-01-31", created_at: nil, updated_at: nil>
>>u.name = 100
=> 100
>>u
=> #<User id: nil, name: 100, sex: "男", age: 0, birthday: "2011-01-31", created_at: nil, updated_at: nil>
>>u.name.class
=> Fixnum
>>Date.now
NoMethodError: private method `now' called for Date:Class
from (irb):10
>>Date.new
=> Mon, 01 Jan -4712
>>u.name = Date.new
=> Mon, 01 Jan -4712
>>u.save
=> true
>>u
=> #<User id: 2, name: "-4712-01-01", sex: "男", age: 0, birthday: "2011-01-31", created_at: "2011-04-19 15:55:15", updated_at: "2011-04-19 15:55:15">
>>u.name.class
=> Date
>>u.name = Time.now
=> Tue Apr 19 23:56:59 +0800 2011
>>u.save
=> true
>>u
=> #<User id: 2, name: "2011-04-19 23:56:59", sex: "男", age: 0, birthday: "2011-01-31", created_at: "2011-04-19 15:55:15", updated_at: "2011-04-19 15:57:06">
>>u.name.class
=> Time
>>u.name = ["a","b","c"]
=> ["a", "b", "c"]
>>u.save
=> true
>>u
=> #<User id: 2, name: ["a", "b", "c"], sex: "男", age: 0, birthday: "2011-01-31", created_at: "2011-04-19 15:55:15", updated_at: "2011-04-19 15:58:19">
>>u.name.class
=> Array
>>u
=> #<User id: 2, name: ["a", "b", "c"], sex: "男", age: 0, birthday: "2011-01-31", created_at: "2011-04-19 15:55:15", updated_at: "2011-04-19 15:58:19">
>>u.name = {:a => "a",:b => "b",:c => "c"}
=> {:c=>"c", :a=>"a", :b=>"b"}
>>u.save
=> true
>>u
=> #<User id: 2, name: {:c=>"c", :a=>"a", :b=>"b"}, sex: "男", age: 0, birthday: "2011-01-31", created_at: "2011-04-19 15:55:15", updated_at: "2011-04-19 15:59:48">
>>u.name.class
=> Hash
>>u.name
=> {:c=>"c", :a=>"a", :b=>"b"}
>>u.name = nil
=> nil
>>u
=> #<User id: 2, name: nil, sex: "男", age: 0, birthday: "2011-01-31", created_at: "2011-04-19 15:55:15", updated_at: "2011-04-19 15:59:48">
>>u.save
=> true
>>u.name
=> nil
>>u.name = true
=> true
>>u
=> #<User id: 2, name: true, sex: "男", age: 0, birthday: "2011-01-31", created_at: "2011-04-19 15:55:15", updated_at: "2011-04-19 16:01:27">
>>u.name.class
=> TrueClass
b.其他类型到integer
=> #<User id: 2, name: true, sex: "男", age: 0, birthday: "2011-01-31", created_at: "2011-04-19 15:55:15", updated_at: "2011-04-19 16:01:27">
>>u.age = "abc"
=> "abc"
>>u.save
=> true
>>u
=> #<User id: 2, name: true, sex: "男", age: 0, birthday: "2011-01-31", created_at: "2011-04-19 15:55:15", updated_at: "2011-04-19 16:06:33">
>>u.age = 12.6
=> 12.6
>>u.save
=> true
>>u
=> #<User id: 2, name: true, sex: "男", age: 12, birthday: "2011-01-31", created_at: "2011-04-19 15:55:15", updated_at: "2011-04-19 16:07:14">
>>u.age = Date.new
=> Mon, 01 Jan -4712
>>u.save
u.save
=> true
?>u
=> #<User id: 2, name: true, sex: "男", age: 1, birthday: "2011-01-31", created_at: "2011-04-19 15:55:15", updated_at: "2011-04-19 16:08:17">
>>u.age = Time.now
=> Wed Apr 20 00:08:50 +0800 2011
>>u.save
=> true
>>u
=> #<User id: 2, name: true, sex: "男", age: 1303229330, birthday: "2011-01-31", created_at: "2011-04-19 15:55:15", updated_at: "2011-04-19 16:08:56">
>>u.age = ['a','b','c']
=> ["a", "b", "c"]
>>u.save
=> true
>>u
=> #<User id: 2, name: true, sex: "男", age: 1, birthday: "2011-01-31", created_at: "2011-04-19 15:55:15", updated_at: "2011-04-19 16:09:29">
>>u.age = {"a" => "aa","b" => "bb","c" => "cc"}
=> {"a"=>"aa", "b"=>"bb", "c"=>"cc"}
>>u.save
=> true
>>u
=> #<User id: 2, name: true, sex: "男", age: 1, birthday: "2011-01-31", created_at: "2011-04-19 15:55:15", updated_at: "2011-04-19 16:09:29">
>>u.age = nil
=> nil
>>u.save
=> true
>>u
=> #<User id: 2, name: true, sex: "男", age: nil, birthday: "2011-01-31", created_at: "2011-04-19 15:55:15", updated_at: "2011-04-19 16:10:47">
>>u.age = true
=> true
>>u.save
=> true
>>u
=> #<User id: 2, name: true, sex: "男", age: 1, birthday: "2011-01-31", created_at: "2011-04-19 15:55:15", updated_at: "2011-04-19 16:11:13">
>>u.age = false
=> false
>>u
=> #<User id: 2, name: true, sex: "男", age: 0, birthday: "2011-01-31", created_at: "2011-04-19 15:55:15", updated_at: "2011-04-19 16:11:13">
c.其他类型到Date
>>u.birthday = 120
=> 120
>>u.save
=> true
>>u
=> #<User id: 2, name: true, sex: "男", age: 0, birthday: 120, created_at: nil, updated_at: "2011-04-19 16:31:49">

>>u.birthday = "abcdef"
=> "abcdef"
>>u.birthday
u.birthday
=> nil
?>u.save
=> true
>>u
=> #<User id: 2, name: true, sex: "男", age: 0, birthday: nil, created_at: "2011-04-19 15:55:15", updated_at: "2011-04-19 16:16:57">
>>u.birthday = "2011-01-25"
=> "2011-01-25"
>>u.save
=> true
>>u
=> #<User id: 2, name: true, sex: "男", age: 0, birthday: "2011-01-25", created_at: "2011-04-19 15:55:15", updated_at: "2011-04-19 16:13:12">
>>u.birthday = "2011-02-25 17:28:32"
=> "2011-02-25 17:28:32"
>>u.save
=> true
>>u
=> #<User id: 2, name: true, sex: "男", age: 0, birthday: "2011-02-25", created_at: "2011-04-19 15:55:15", updated_at: "2011-04-19 16:14:19">
>>u.birthday = Date.new
u.birthday = Date.new
=> Mon, 01 Jan -4712
?>u.save
=> true
>>u
=> #<User id: 2, name: true, sex: "男", age: 0, birthday: "-4712-01-01", created_at: "2011-04-19 15:55:15", updated_at: "2011-04-19 16:15:28">
>>u.birthday = Time.now
=> Wed Apr 20 00:15:55 +0800 2011
>>u.save
=> true
>>u
=> #<User id: 2, name: true, sex: "男", age: 0, birthday: "2011-04-20 00:15:55", created_at: "2011-04-19 15:55:15", updated_at: "2011-04-19 16:15:59">
>>u.birthday = nil
=> nil
>>u.save
u.save
=> true
?>u
=> #<User id: 2, name: true, sex: "男", age: 0, birthday: nil, created_at: "2011-04-19 15:55:15", updated_at: "2011-04-19 16:16:57">
>>u.birthday = true
=> true
>>u.save
=> true
>>u
=> #<User id: 2, name: true, sex: "男", age: 0, birthday: true, created_at: "2011-04-19 15:55:15", updated_at: "2011-04-19 16:20:33">
d.其他类型到time
>>u.created_at = "abc"
=> "abc"
>>u.save
=> true
>>u
=> #<User id: 2, name: true, sex: "男", age: 0, birthday: true, created_at: nil, updated_at: "2011-04-19 16:23:27">
>>u.created_at = 12
=> 12
>>u.save
=> true
>>u
=> #<User id: 2, name: true, sex: "男", age: 0, birthday: true, created_at: nil, updated_at: "2011-04-19 16:23:27">
>>u.created_at = nil
=> nil
>>u.save
=> true
>>u
=> #<User id: 2, name: true, sex: "男", age: 0, birthday: true, created_at: nil, updated_at: "2011-04-19 16:23:27">
>>u.created_at = true
=> true
>>u.save
=> true
>>u
=> #<User id: 2, name: true, sex: "男", age: 0, birthday: true, created_at: nil, updated_at: "2011-04-19 16:23:27">
>>u.birthday = false
=> false
>>u.save
=> true
>>u
=> #<User id: 2, name: true, sex: "男", age: 0, birthday: false, created_at: nil, updated_at: "2011-04-19 16:30:37">
>>u.created_at = "2011-01-25"
=> "2011-01-25"
>>u.save
=> true
>>u
=> #<User id: 2, name: true, sex: "男", age: 0, birthday: 120, created_at: "2011-01-25 00:00:00", updated_at: "2011-04-19 16:32:28">
>>u.created_at = "2011-02-25 17:28:32"
=> "2011-02-25 17:28:32"
>>u.save
=> true
>>u
=> #<User id: 2, name: true, sex: "男", age: 0, birthday: 120, created_at: "2011-02-25 17:28:32", updated_at: "2011-04-19 16:32:51">
>>u.created_at = Date.new
=> Mon, 01 Jan -4712
>>u.save
=> true
>>u
=> #<User id: 2, name: true, sex: "男", age: 0, birthday: 120, created_at: "-4713-12-31 16:00:00", updated_at: "2011-04-19 16:33:15">
>>u.created_at = Time.now
=> Wed Apr 20 00:33:30 +0800 2011
>>u.save
=> true
>>u
=> #<User id: 2, name: true, sex: "男", age: 0, birthday: 120, created_at: "2011-04-19 16:33:30", updated_at: "2011-04-19 16:33:40">
>>u.created_at = nil
=> nil
>>u.save
=> true
>>u
=> #<User id: 2, name: true, sex: "男", age: 0, birthday: 120, created_at: nil, updated_at: "2011-04-19 16:34:29">
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值