在controller和view直接跳转 - Ctrl + Shift + A
在controller/model和test/spec之间跳转 - Ctrl + Shift + T
直接跳转到类和方法的源代码 - Ctrl + B
自动补齐 - Ctrl + "
方法参数提示 - Ctrl + P
快速修复提示 - Alt + Enter
上下文帮助 - Ctrl + Shift + Enter
重命名重构 - Ctrl + R

Ctrl+Shift+↓ 复制当前行到下一行

原贴:http://rails2.javaeye.com/blog/219571

Ruby On Rails开发时的技术还是很多很杂的,我现在把它们整理,列出来,方便自己,也方便大家。

注:我在其中所列的,也有不是ROR专有的,但是在Rails开发中实用。

A:View
1。Helper number_to_currency(@book.price)格式化显示时间,$89.00,合适开发英文网站。

2。图片按钮提交表单,

Html代码
Code
<input type='image' src='/images/button2.gif' style='width:120px;height:30px;'/>  

把它放在<form>内,和submit button的作用一样,另说明一下,这个网站上可以在线为我们生成自行设置的图片,很方便,http://www.buttonator.com/,我又看了一下这个网站,感觉它也很优秀,http://www.mycoolbutton.com

3。奇偶行变色:

Html代码

Code
<%=cycle('list-line-odd', 'list-line-even') %>  

4。鼠标放上去变色,这个虽然是HTML方面的代码,但是在WEB开发中也用得比较多,所以记一下。

Html代码

Code
onmouseover="this.style.background='#FFFCDF';" onmouseout="this.style.background='#FFF';"  

5。改进Flash消息的显示。Flash消息显示4秒后,淡出。

Html代码

Code
1 <% 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 %>  

别忘记了<%= 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。为了避免过长字符串撑开页面,经常需要调用截取过长字符串的方法,rails已经为我们提供了一个方法:

Ruby代码

Code
1ActionView::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的配置和命令,今天发现irb原来也是可以玩出很多花样的。记录些有趣的:
1)可以使用按tab键两次来自动补全,要求加载irb/completaion库。比如这样启动irb:
 
irb -r irb/completion

或者进入irb后手工require:
require 'irb/completation'

当然,还有更好的方法,呆会介绍
2)子会话,在irb中使用irb可以创建子会话,通过命令jobs可以查看所有的子会话。创建子会话的时候指定一个对象,子会话的self将绑定该对象,比如:
irb 'test'
reverse
=>"tset"
length
=>4
self
=>"test"
irb_quit

3)在linux下可以通过配置.irbrc配置文件来进行初始化定制,在windows环境你可以在ruby安装目录下的bin看到一个irb.bat文件,通过配置文件来定制irb,比如我们为irb增加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开发技巧总结相关推荐

  1. rails table html,Ruby on Rails:如何将字符串呈现为HTML?

    我有 @str ="Hi" 在我的erb视图中: 当我真正想要的是Hi时,页面上将显示:Hi. 将字符串"解释"为HTML标记的红宝石方法是什么? 编辑:这种情 ...

  2. 一个使用Ruby on Rails开发LBS网站的简单实例

    一个使用Ruby on Rails开发LBS网站的简单实例 cheungmine 2011-7 这几天一直在学习使用Ruby on Rails(RoR),想建立一个功能全面一点的LBS(Locatio ...

  3. [转载] Ruby、Rails、Agile的启示

    转自:http://vipnews.csdn.net/newscontent.aspx?pointid=2008_03_03_170600555 文/杨祥吉 本文作者以使用Ruby和Rails进行创业 ...

  4. 范凯谈Ruby on Rails项目实践

    Summary 在本次采访中,JavaEye站长范凯结合自己的实际开发经验,分享了在使用Ruby on Rails的过程中所应注意的事项,比如选择RoR的原因.用RoR开发的优势.网站的配置和部署.所 ...

  5. ruby语言开源Web应用框架 Ruby on Rails 简介

    目录 Ruby on Rails是什么 历史 Rails 的 MVC 架构 Web 服务器支持 数据库支持 系统要求 集成开发环境 Ruby on Rails是什么 Ruby on Rails(官方简 ...

  6. 关于 Ruby Ruby on Rails 的一些书及论坛网站

    关于 Ruby &Ruby on Rails 的一些书及论坛网站 需要用到的一些书 The Ruby Way   Programming Ruby 2nd edition Agile Web ...

  7. Ruby on Rails路径穿越与任意文件读取漏洞分析(CVE-2019-5418)

    Ruby on Rails是一个 Web 应用程序框架,是一个相对较新的 Web 应用程序框架,构建在 Ruby 语言之上.它被宣传为现有企业框架的一个替代,而它的目标,就是让 Web 开发方面的生活 ...

  8. Android Studio开发flutter快捷键

    Android Studio开发flutter快捷键 下面是android studio开发flutter快捷键的一些总结,非常实用,掌握后能明显提高编码速度和编码质量: 1.快速创建widget:在 ...

  9. Ruby on rails3新手谈(1):Ruby on rails环境搭建

    本文将介绍Windows下Ruby On Rails安装(Ruby1.9.2,Rails3,Sqlite3) (1)到ruby官网:http://www.ruby-lang.org/en/下载wind ...

最新文章

  1. 面向汽车应用的硬件推理芯片
  2. Mysql show Status参数详解
  3. Qtum量子链研究院:Plasma技术详解(下篇)
  4. linux 内核 printk 使用
  5. Vue组件之间相互传值的方式
  6. springboot配置连接rds_java – 在AWS-EC2上运行的SpringBoot应用程序无法连接到MySQL AWS-RDS数据库...
  7. bilibili 解析_用 Python 抓取 bilibili 弹幕并分析!
  8. 项目微管理17 - 双赢
  9. halcon裁剪图像_Halcon学习之七:改变图像的现实方式和大小
  10. 各种卷积类型Convolution
  11. javascript函数执行前期变量环境初始化过程
  12. python缩进格式错误修改_Python,意外的缩进错误解析,Pythonunexpectedindent,解决,方法...
  13. X5Webview TbsReaderView背景色修改
  14. 问的书写规则是什么意思_汉字笔顺的书写规则是什么
  15. ffmpeg学习日记3-视频格式和视频编码的关系
  16. 小程序二维码和小程序带参数二维码生成
  17. Sql中 update select结合更新
  18. STM32F103 flash地址与数据存入时高低位的关系
  19. Android集成高德地图实现自定义Marker
  20. Unity 跑马灯效果

热门文章

  1. python使用多线程写生成器_Python学习——多线程,异步IO,生成器,协程
  2. 二、VC++环境的安装
  3. 实训09.10:HTML简单表格设计
  4. java的或等于_Java中的“小于或等于”比较运算符是__________: !=|||=|=
  5. java控制cmd导出dmp文件_cmd的操作命令导出导入.dmp文件
  6. linux java uml_简单实用UML关系图解
  7. 仍然报错_only_full_group_by配置,竟让所有应用报错?
  8. 20. 有效的括号 golang(2)
  9. ps命令与top命令参数意义详解
  10. socket网络编程--epoll小结