2008-07-25
Ruby On Rails开发技巧总结(不断更新,备忘)
关键字: 技巧 ruby rails
Ruby On Rails开发时的技术还是很多很杂的,我现在把它们整理,列出来,方便自己,也方便大家。
注:我在其中所列的,也有不是ROR专有的,但是在Rails开发中实用。
A:View
1。Helper number_to_currency(@book.price)格式化显示时间,$89.00,合适开发英文网站。
2。图片按钮提交表单,
3。奇偶行变色:
4。鼠标放上去变色,这个虽然是HTML方面的代码,但是在WEB开发中也用得比较多,所以记一下。
5。改进Flash消息的显示。Flash消息显示4秒后,淡出。
别忘记了<%= javascript_include_tag :defaults %>,另外,对于Flash消息显示的css代码如下,
6。为了避免过长字符串撑开页面,经常需要调用截取过长字符串的方法,rails已经为我们提供了一个方法:
中英文混合字符串截取,见:http://www.javaeye.com/topic/201531
7。图形验证码的使用,首先要装上rmagick,将附件里的rb文件放在/app/models里,图片的引用src='xxx/code_image',则在xxx控制器的code_image方法定义如下
:
相信你看了以上的代码,也就知道怎么样验证用户输入的验证码是否一致了吧。
————————————————————————
我把文章发到rails版论坛里,希望大家也发发自己的开发技巧,让大家都有所收获。
注:我在其中所列的,也有不是ROR专有的,但是在Rails开发中实用。
A:View
1。Helper number_to_currency(@book.price)格式化显示时间,$89.00,合适开发英文网站。
2。图片按钮提交表单,
<input type='image' src='/images/button2.gif' style='width:120px;height:30px;'/>把它放在<form>内,和submit button的作用一样,另说明一下,这个网站上可以在线为我们生成自行设置的图片,很方便,http://www.buttonator.com/,我又看了一下这个网站,感觉它也很优秀,http://www.mycoolbutton.com
3。奇偶行变色:
<%=cycle('list-line-odd', 'list-line-even') %>
4。鼠标放上去变色,这个虽然是HTML方面的代码,但是在WEB开发中也用得比较多,所以记一下。
onmouseover="this.style.background='#FFFCDF';" onmouseout="this.style.background='#FFF';"
5。改进Flash消息的显示。Flash消息显示4秒后,淡出。
<% if flash[:warning] or flash[:notice] %>
<div id="flash_message" <% if flash[:warning] %>class="warning"<% elsif flash[:notice] %>class='notice'<% end %> >
<%= flash[:warning] || flash[:notice] %>
</div>
<script type="text/javascript">
setTimeout("new Effect.Fade('flash_message');", 4000)
</script>
<% end %>
别忘记了<%= javascript_include_tag :defaults %>,另外,对于Flash消息显示的css代码如下,
.notice{
margin-top:5px;
padding: 8px;
border-top:2px solid #73E673;
border-bottom:2px solid #73E673;
background:#B6F2B6;
}
.warning{
margin-top:5px;
padding: 8px;
border-top:2px solid #FFF280;
border-bottom:2px solid #FFF280;
background:#FFF9BF;
}
6。为了避免过长字符串撑开页面,经常需要调用截取过长字符串的方法,rails已经为我们提供了一个方法:
ActionView::Helpers::TextHelper#truncate(text, length = 30, truncate_string = "...")
中英文混合字符串截取,见:http://www.javaeye.com/topic/201531
#Quake Wang的做法
def truncate_u(text, length = 30, truncate_string = "...")
if r = Regexp.new("(?:(?:[^\xe0-\xef\x80-\xbf]{1,2})|(?:[\xe0-\xef][\x80-\xbf][\x80-\xbf])){#{length}}", true, 'n').match(text)
r[0].length < text.length ? r[0] + truncate_string : r[0]
else
text
end
end
#庄表伟的做法
def truncate_u2(text, length = 30, truncate_string = "...")
l=0
char_array=text.unpack("U*")
char_array.each_with_index do |c,i|
l = l+ (c<127 ? 0.5 : 1)
if l>=length
return char_array[0..i].pack("U*")+(i<char_array.length-1 ? truncate_string : "")
end
end
return text
end
7。图形验证码的使用,首先要装上rmagick,将附件里的rb文件放在/app/models里,图片的引用src='xxx/code_image',则在xxx控制器的code_image方法定义如下
:
def code_image
session[:noisy_image]=NoisyImage.new(4)
session[:code] =session[:noisy_image].code
image = session[:noisy_image].code_image
send_data image, :type => 'image/jpeg', :disposition => 'inline'
end
相信你看了以上的代码,也就知道怎么样验证用户输入的验证码是否一致了吧。
————————————————————————
我把文章发到rails版论坛里,希望大家也发发自己的开发技巧,让大家都有所收获。
- 16:28
- 浏览 (180)
- 评论 (0)
- 分类: Ruby and Rails
- 进入论坛
- 发布在 ror-party 圈子
- 相关推荐
发表评论
提醒: 该博客已发表在公共论坛,博客所有留言会成为论坛回贴,留言请注意遵守论坛发贴规则
- 浏览: 9304 次
- 性别:

- 来自: 与JE一起成长

- 详细资料
搜索本博客
我的相册
qq.png
共 4 张
共 4 张
最近加入圈子
链接
- 蕲春人
- 数据库模型分享
- JAVA项目网
- 关于ror的博客
- http://groovie.org/
- Ruby语言思想驱动
- dzone
- 喜道技术笔记
- 铁道播客
- Agile Web Development
- ror开源一看
- 中国onrails社区
- Rails2中文站
- rails and ruby
- Err the Blog
- http://zilkey.com/
- Rails2 API
- Typo Blog
- Rails2.1 API
- 海阳的新博客
- Ruby中文门门
- Rails视频
- Rails Engin
- Railslodge
- http://davidsmalley.com/
- http://www.railsenvy.com/
- http://www.railway.at/
- LetRails
- 外国模块网
- Devint ART
- Smashing Magazine
- Csscreme
- topcsstemplates
- CSS库
- Urban Puddle
- SEO on Rails
- RailsExpress.blog
- BenCurtis.com
- 免费CSS模板
- dianeyu
- 剌洪利的博客
- CSS Zen Garden CSS Demo
- Ajax Daddy
- English Chat
最新评论
-
互联网创业是程序员腾达的 ...
hunter.wxhu 写道 又一个偏执狂,想象很美好,时机很现实, 成功的机会 ...
-- by qichunren -
互联网创业是程序员腾达的 ...
又一个偏执狂,想象很美好,时机很现实, 成功的机会很少啊 。技术只是成功的一个要 ...
-- by hunter.wxhu -
互联网创业是程序员腾达的 ...
想要互联网创业,作为程序员一个人想创业,我是不赞成的,这是因为我们思维的问题,除 ...
-- by jhj823900 -
互联网创业是程序员腾达的 ...
bayers 写道 创业教程初级班秘籍之一: 因为发现了确定的可以赚到钱的可行 ...
-- by gigix -
互联网创业是程序员腾达的 ...
『创业家园』 [经验交流]创业实战初级班教程 zt http://cache.t ...
-- by bayers






评论排行榜