道喜技术日记 .^. 天天红玉世界

Rails Ruby MacOSX 。。。创新来自于刻苦的实践和勤奋的思考... www.hhtong.com


Rails开发世界:推荐Rails框架API网站

Gudao Luo2009-07-14 at 12:56发表的

推荐Rails框架API网站

Google世界:通过关键词bd7lx搜索Ruby信息

Gudao Luo2009-07-13 at 06:51发表的

 2130
  • 说明
    • 有时候想搜索一下bd7lx所发表的贴,可以使用关键词“CouchDB site:http://www.chinaonrails.com/”进行,但是效果不是很好。通过关键词bd7lx加上相应的Ruby技术关键词,进行搜索,就能够获取比较好的Ruby信息链接,如“CouchDB bd7lx”。

技巧命令: 查询自己所需要的rake命令信息

Gudao Luo2009-07-12 at 08:00发表的

查询自己所需要的rake命令信息
  • 基于参数“-T”的rake命令使用方法
    • rake -T | grep " db:"
  • 说明
    • 随着Rails框架的rake命令越来越多,我们可以把“rake -T”与grep命令一起使用,查询自己所需要的rake命令信息。

代码世界:Ruby/Rails反射技术实例

Gudao Luo2009-07-11 at 06:51发表的

Ruby/Rails反射技术实例
  • 使用正常类方法代码
@blogs = Blog.find(:all)
  • 使用反射技术代码(Ruby语言)
@blogs = Kernel.const_get("Blog").send(:find, :all)
@blogs = Object.const_get("Blog").send(:find, :all)
@blogs = Kernel.eval("Blog").send(:find, :all)
  • 使用反射技术代码(类名称包含”::”)(Ruby语言)
Model = "ActiveRecord::Base".split('::').inject(Object) do |base,item|
base.const_get(item)
end
class Blog < Model; end
  • 使用反射技术代码(Rails框架)
@blogs = "Blog".classify.constantize.send(:find, :all)

Rails技术系列:使用命令script/runner实现输出文件csv

Gudao Luo2009-07-10 at 21:05发表的

export-csv-in-console-2009-07-10 2231使用命令script/runner实现输出文件csv

具体实现步骤

  • 安装Rails框架插件fastercsv
    sudo gem install fastercsv
  • 创建Rails应用软件
    rails demo && cd demo
    ruby script/generate scaffold post title:string body:text published:boolean
    rake db:migrate && rake db:fixtures:load
  • 实现输出文件csv代码
    vim lib/export_csv.rb
文件lib/export_csv.rb代码清单
require 'fastercsv'FasterCSV.open("posts.csv", "w") do |csv|
Post.all.each do |object|
csv << object.attributes.values
end
end
  • 运行输出文件csv的代码
    script/runner lib/export_csv.rb
  • 查看导入数据库数据
    cat cat test/fixtures/posts.yml
文件test/fixtures/posts.yml数据清单
# Read about fixtures at http://ar.rubyonrails.org/classes/Fixtures.html
one:
title: MyString
body: MyText
published: false
two:
title: MyString
body: MyText
published: false
  • 使用终端查看导出文件csv数据
    cat posts.csv
文件posts.csv数据清单
Fri Jul 10 20:14:57 UTC 2009,MyString,MyText,false,953125641,Fri Jul 10 20:14:57 UTC 2009
Fri Jul 10 20:14:57 UTC 2009,MyString,MyText,false,996332877,Fri Jul 10 20:14:57 UTC 2009
  • 使用OpenOffcie查看导出文件csv数据
    open posts.csv

Rails参考资料:迁移类型及其限制值/默认值

Gudao Luo2009-07-09 at 18:45发表的

迁移类型 MySQL类型 限制值/默认值
:binary TINYBLOB, BLOB, MEDIUMBLOB, or LONGBLOB2 :limit => 1 to 4294967296 ( default = 65536 )
:boolean TINYINT
:date DATE
:datetime DATETIME
:decimal DECIMAL :precision => 1 to 63 (default = 10) :scale => 0 to 30 (default = 0)3
:float FLOAT
:integer INT :limit => 1 to 11 (default = 11)
:primary_key INTAUTO_INCREMENT PRIMARY KEY
:string VARCHAR :limit => 1 to 255 (default = 255)
:text TINYTEXT, TEXT, MEDIUMTEXT, or LONGTEXT2 :limit => 1 to 4294967296Bytes ( default = 65536Bytes )
:time TIME
:timestamp DATETIME

网络图书:《冒号课堂》,又名《冒号和他的学生们》

Gudao Luo2009-07-08 at 20:10发表的

《冒号课堂》,又名《冒号和他的学生们》
  • 说明
    • 《冒号课堂》,又名《冒号和他的学生们》是一本软件世界的通俗“小说”,值得一读。

网站推荐:英文免费电子Rails杂志《Rails Magazine》

Gudao Luo2009-07-07 at 09:39发表的

2009-07-07 2229
  • 命令获取该杂志
    • wget http://pdf.railsmagazine.com/rails-magazine-issue1.pdf
    • wget http://pdf.railsmagazine.com/rails-magazine-issue2.pdf
    • wget http://pdf.railsmagazine.com/rails-magazine-issue3.pdf