Rails plugins

转一篇文章,列举一些常用的rails plugins,挺不错的。
http://jimneath.org/2008/04/25/building-a-social-network-site-in-rails/

Using GMail smtp server in rails app

由于action_mailer本身并不支持tls或者ssl的链接方式,而gmail的smtp server又要求tls或者ssl方式验证用户名和密码,所以我们需要hack action_mailer让他支持tls/ssl。在网上找到一篇很有用的文章:http://www.stephenchu.com/2006/06/how-to-use-gmail-smtp-server-to-send.html
由于有可能链接在国内没办法打开所以将内容一并转下来,以备日后reference:
Rail’s ActionMailer was simply the automatic choice, since I am building a rails app.
Turns out GMail supports only SSL SMTP mailing service, meaning if you cannot create a SSL connection to its SMTP server, you cannot send email through them. My Rails and Ruby (1.84) version do not yet support creating a SSL [...]

今天居然在如何用ruby实现保留小数点后两位小数的问题上花费了1.5小时,所以我觉得有必要将这个东西记录下来。
原本打算写一个helper方法,format文件的大小,如下:

def format_file_size(size_in_byte)
case size_in_byte
when (1024…1024**2): return "#{(size_in_byte/1024)}Kb"
when (1024**2…1024**3): return "#{format(’%.2f’,(size_in_byte/1024**2.to_f))}Mb"
when (1024**3…1024**4): return "#{format(’%.2f’,(size_in_byte/1024**3.to_f))}Gb"
end
end

可是为了实现保留两位小数的方法可费了不少的劲,最终找到了Kernal.sprintf()实现,format是sprintf的alias。
format(pattern,value):其中pattern表示要格式化形式,在这里我们用“%.2f”,表示保留小数点后2位数字,当然我们还可以写成“%05.2f”,表示整个字符串最少5位数(不包括小数点),如果value少于5位用”0”占位

sd.rb ruby/rails idioms

本文是发布在该地址的screencast 的一个简要的总结
在该视频当中,作者 Tom Wermer和大家一起分享了一些ruby/rails特有的语法格式,从中可以体会都ruby/rails的强大便捷的功能, 共有9个例子,每一个例子都对应一个传统的冗长的语法格式(sucky)和更简便版本的语法格式(awesome),从而可以使你进行对比:
1. 一般用在给变量赋默认值的时候,如果为nil,则将其赋一值

# Super Sucky
if not breakfast

breakfast = :bacon
end

# Sucky
breakfast = :bacon unless breakfast

# awesome
breakfast ||= :bacon

2.简化判断的方法,

# sucky
if val == 1 || val ==12 || val == 42

puts "bacon"
end

#awesome
if [1,12,42].include?(val)

puts "bacon"
end

3. 当我们有这种需求,即:如果array当中没有某个元素就向其中添加,的时候以下用法能够简化代码

fruits = ["apple","banana"]

# sucky
#如果fruits当中不存在"apple",将苹果添加到fruits
fruits +=["apple"] unless fruits.include?("apple")

#=> ["apple","banana"]

#awesome
fruits |= ["apple"]

#=> ["apple","banana"]

4. 这个技巧也非常的使用,我们在之前写代码的过程当中也经常的使用,就是用constant variable来替换代码当中的 string, integer等常量

#sucky
class [...]

My categories

本站访问量


Unique visitors?

谁在看我