netbeans下开发rails快捷键 及 Ruby On Rails开发技巧总结
在controller和view直接跳轉 - Ctrl + Shift + A
在controller/model和test/spec之間跳轉 - Ctrl + Shift + T
直接跳轉到類和方法的源代碼 - Ctrl + B
自動補齊 - Ctrl + "
方法參數(shù)提示 - Ctrl + P
快速修復提示 - Alt + Enter
上下文幫助 - Ctrl + Shift + Enter
重命名重構 - Ctrl + R
Ctrl+Shift+↓?復制當前行到下一行
?
原貼:http://rails2.javaeye.com/blog/219571
?
?
Ruby On Rails開發(fā)時的技術還是很多很雜的,我現(xiàn)在把它們整理,列出來,方便自己,也方便大家。
注:我在其中所列的,也有不是ROR專有的,但是在Rails開發(fā)中實用。
A:View
1。Helper number_to_currency(@book.price)格式化顯示時間,$89.00,合適開發(fā)英文網(wǎng)站。
2。圖片按鈕提交表單,
?
?
Code<input?type='image'?src='/images/button2.gif'?style='width:120px;height:30px;'/>??
把它放在<form>內(nèi),和submit button的作用一樣,另說明一下,這個網(wǎng)站上可以在線為我們生成自行設置的圖片,很方便,http://www.buttonator.com/,我又看了一下這個網(wǎng)站,感覺它也很優(yōu)秀,http://www.mycoolbutton.com
3。奇偶行變色:
Html代碼?
?
Code<%=cycle('list-line-odd',?'list-line-even')?%>??
?
4。鼠標放上去變色,這個雖然是HTML方面的代碼,但是在WEB開發(fā)中也用得比較多,所以記一下。
Html代碼?
?
Codeonmouseover="this.style.background='#FFFCDF';"?onmouseout="this.style.background='#FFF';"??
?
5。改進Flash消息的顯示。Flash消息顯示4秒后,淡出。
Html代碼
?
Code1?<%?if?flash[:warning]?or?flash[:notice]?%>??
2?<div?id="flash_message"?<%?if?flash[:warning]?%>class="warning"<%?elsif?flash[:notice]?%>class='notice'<%?end?%>?>??
3?<%=?flash[:warning]?||?flash[:notice]?%>??
4?</div>??
5?<script?type="text/javascript">??
6?setTimeout("new?Effect.Fade('flash_message');",?4000)??
7?</script>??
8?<%?end?%>??
9?
?
別忘記了<%= javascript_include_tag :defaults %>,另外,對于Flash消息顯示的css代碼如下,
Html代碼
?
Code?1.notice{??
?2?????margin-top:5px;??
?3?????padding:?8px;??
?4?????border-top:2px?solid?#73E673;??
?5?????border-bottom:2px?solid?#73E673;??
?6?????background:#B6F2B6;??
?7?}??
?8?.warning{??
?9?????margin-top:5px;??
10?????padding:?8px;??
11?????border-top:2px?solid?#FFF280;??
12?????border-bottom:2px?solid?#FFF280;??
13?????background:#FFF9BF;??
14?}??
15
?
6。為了避免過長字符串撐開頁面,經(jīng)常需要調(diào)用截取過長字符串的方法,rails已經(jīng)為我們提供了一個方法:
Ruby代碼?
?
?
Code1ActionView::Helpers::TextHelper#truncate(text,?length?=?30,?truncate_string?=?"")???
中英文混合字符串截取,見:http://www.javaeye.com/topic/201531
Ruby代碼?
?
Code???1.??#Quake?Wang的做法??
???2.?????def?truncate_u(text,?length?=?30,?truncate_string?=?"")??
???3.?????????if?r?=?Regexp.new("(?:(?:[^"xe0-"xef"x80-"xbf]{1,2})|(?:["xe0-"xef]["x80-"xbf]["x80-"xbf])){#{length}}",?true,?'n').match(text)??
???4.?????????????r[0].length?<?text.length???r[0]?+?truncate_string?:?r[0]??
???5.?????????else??
???6.?????????????text??
???7.?????????end??
???8.?????end??
???9.???????
??10.???????
??11.?????#莊表偉的做法??
??12.?????def?truncate_u2(text,?length?=?30,?truncate_string?=?"")??
??13.?????l=0??
??14.?????char_array=text.unpack("U*")??
??15.?????char_array.each_with_index?do?|c,i|??
??16.?????l?=?l+?(c<127???0.5?:?1)??
??17.?????????if?l>=length??
??18.?????????return?char_array[0..i].pack("U*")+(i<char_array.length-1???truncate_string?:?"")??
??19.?????????end??
??20.?????end??
??21.?????return?text??
??22.?????end??
?
7。圖形驗證碼的使用,首先要裝上rmagick,將附件里的rb文件放在/app/models里,圖片的引用src='xxx/code_image',則在xxx控制器的code_image方法定義如下
:
Ruby代碼
?
Code?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?
?
相信你看了以上的代碼,也就知道怎么樣驗證用戶輸入的驗證碼是否一致了吧。
?
?
irb的配置和命令,今天發(fā)現(xiàn)irb原來也是可以玩出很多花樣的。記錄些有趣的:
1)可以使用按tab鍵兩次來自動補全,要求加載irb/completaion庫。比如這樣啟動irb:
?
irb -r irb/completion
或者進入irb后手工require:
require 'irb/completation'
當然,還有更好的方法,呆會介紹
2)子會話,在irb中使用irb可以創(chuàng)建子會話,通過命令jobs可以查看所有的子會話。創(chuàng)建子會話的時候指定一個對象,子會話的self將綁定該對象,比如:
irb 'test'
reverse
=>"tset"
length
=>4
self
=>"test"
irb_quit
3)在linux下可以通過配置.irbrc配置文件來進行初始化定制,在windows環(huán)境你可以在ruby安裝目錄下的bin看到一個irb.bat文件,通過配置文件來定制irb,比如我們?yōu)閕rb增加ri和tab自動補齊功能:
@echo off
goto endofruby
#!/bin/ruby
#
#?? irb.rb - intaractive ruby
#?????? $Release Version: 0.9.5 $
#?????? $Revision: 1.2.2.1 $
#?????? $Date: 2005/04/19 19:24:56 $
#?????? by Keiju ISHITSUKA(keiju@ruby-lang.org)
#
require "irb"
require 'irb/completion'
def ri(*names)
? system(%{ri.bat #{names.map{ |name| name.to_s}.join(" ")}})
end
if __FILE__ == $0
? IRB.start(__FILE__)
else
? # check -e option
? if /^-e$/ =~ $0
??? IRB.start(__FILE__)
? else
??? IRB.setup(__FILE__)
? end
end
__END__
:endofruby
"%~d0%~p0ruby" -x "%~f0" %*
轉載于:https://www.cnblogs.com/sinkzephyr/archive/2008/07/31/1257112.html
總結
以上是生活随笔為你收集整理的netbeans下开发rails快捷键 及 Ruby On Rails开发技巧总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 网页获取客户端IP的两种方法
- 下一篇: asp.net MD5加密函数(c#)