ruby & rails
iteye_321
这个作者很懒,什么都没留下…
展开
-
ubuntu下解决netbeans6.5“没有为此平台安装rubygems“问题
今天将netbeans下载后在ubuntu上运行了一下,发现在ruby平台管理器中虽然可以找到已经安装的ruby环境,但是gem相关的栏目都是灰的,提示“没有为此平台安装rubygems”,‘Gem Home目录’栏旁边的浏览按钮也是灰色不可用。我机器上明明是已经安装了rubygems,难道这就是传说中的netbeans6.5应该做的事情?google了一下,似乎没有人遇到这个问题,以前6.0遇到...2008-12-13 16:57:44 · 106 阅读 · 0 评论 -
用builder写xml
很简单,Builder负责生成xml,通过ruby的io输出到指定xml文件。 代码: [code="ruby"] require 'builder' Person=Struct.new("Person",:name,:age) people=[] people2008-06-11 11:27:56 · 147 阅读 · 0 评论 -
易在开发中忽略的rails安全问题
有些安全问题在rails的开发中会被忽略的,比如rails在创建或者更新一个model的时候,支持一种mass-assignment的赋值方式,比如在controller中,创建一个user model记录 代码1: [code="ruby"] @user=User.new(params[:user]) @user.save! [/code] 这个场景通常发生在网站注册新用户,...2008-06-11 15:00:19 · 102 阅读 · 0 评论 -
多版本rails开发环境下的rails app生成
rails的版本更新极快,不免需要在多版本的环境下面进行开发,那么怎么用指定版本的rails来初始生成一个app? 很简单,比如你有一个项目叫做multiapp,你的开发环境中有2.1,2.2,2.3三个rails版本,你想用2.2来开发: > rails _2.2.0_ multiapp 生成app时加入以下划线为头尾的版本号来指定rails版本。...2009-03-02 11:55:09 · 78 阅读 · 0 评论 -
rspec行为驱动测试中model数据的设计策略
[size=large][b]rspec[/b][/size]行为驱动测试对数据fixtures使用了convention over configuration策略,一个文件名对应一个表,方便了数据测试前的导入,但是当测试用例涉及的表数量多、表与表之间关系复杂、级联关系比较深的情况下,会发生某些公用数据在多个测试用例中被多次使用的情况,如果测试用例间存在制约关系,比如某个测试用例A是要考察某记录类...2008-07-03 18:02:10 · 118 阅读 · 0 评论 -
将数组转换为hash
假如有如下对象 [code="ruby"] class Nation attr_accessor :code, :name end [/code] 现在有一个Nation的对象数组 [code="ruby"] a #=> [#, #, ...] [/code] 要将这个对象数组转化为一个hash,以code作为key。 方法1: [code="rub...2008-07-07 14:19:04 · 788 阅读 · 0 评论 -
简单比较rails与javaee框架的路由配置
[b]==1.路由[/b] 简单来说,路由就是连接两点通路的查找机制,它不是指静态的两点间的通路,而是指获得通路的一种机制。 [b]==2.web路由[/b] web路由是解析url请求并找到相应处理者的机制。 [b]==3.rails的路由机制[/b] [u]实现:[/u]ActionController::Routing::Routes [u]配置文件:[/u]config...2008-08-11 17:15:32 · 183 阅读 · 0 评论 -
单元测试势在必行的一个例证
今天对一段已经经过rspec测试的用例代码重新运行,意外地发现测试没有通过。经过跟踪调试发现是由一个model类的方法改动造成: 原方法: [code="ruby"] class Modelx < ActiveRecord::Base def methoda #blablabla self.save! end end [/code] 更改后的方法...2008-08-13 10:26:58 · 75 阅读 · 0 评论 -
发现netbeans6.5.1关于rspec的一个bug
netbeans对rspec的支持没有理想中的好,比如你生成一个rspec测试类,理想方式应该是,在文件导航窗口中选中一个被测试类文件,然后右击打开快捷菜单,直接选取“生成rspec测试文件”然后搞定,在spec相应的目录下生成一个xx_spec.rb文件。但是现在netbeans却不是这样搞,你需要在文件导航窗口中自己在spec目录下创建出相应的目录,然后选中该目录右键打开->new->Rspe...2009-05-08 10:47:02 · 115 阅读 · 0 评论 -
用rails做web开发之六爽
爽这个字不知道从何年开始成为了口头禅,根据实际开发中的体会,打算总结几个用rails开发web应用几个比较爽的地方,这里先说明,本人之前乃至现在都是做java开发的,有几个年头了,这里不想打着'xx vs. xx'的旗号,以免引发唾沫之争,不利于在奥运之年影响群众们的身心健康。以下是对爽的几个罗列,纯粹是无心快语,心之所至,言之所发,列位看官请look: [quote] - 代码生成,你可以s...2008-06-06 12:21:58 · 98 阅读 · 0 评论 -
Rails的表单helper: select
rails的actionviews提供了友好的form builder类来简洁的动态生成表单元素,相比于简单的textfield,select helper有一些特别,传入参数较多,根据rails的api文档,对select的使用说明如下: [quote] select(object, method, choices, options = {}, html_options = {}) [...2008-05-28 18:33:02 · 78 阅读 · 0 评论 -
使用Rdoc生成Ruby API 文档
rdoc是生成ruby代码api文档的工具,跟javadoc的功能类似,在命令行中输入rdoc,它能够遍历当前目录的ruby源代码文件(以.rb或.rbw为扩展名)进行解析然后生成规范的ruby api文档。可以用rdoc --help来查看具体的命令行参数。rdoc对注释内的特殊标签进行解析并将输出格式化,比如以下一段注释: [code="java"] # Just for fun ...2008-03-31 17:51:59 · 379 阅读 · 0 评论 -
activerecord的save和save!方法
ruby代码风格自由化的程度往往会让java程序员感到疑惑,比如字符串的'gsub'方法,还有一个同胞方法名叫'gsub!',二者区别在于前者只返回sub的结果而不改变执行该方法的字符串本身,后者则同时改变了字符串自身。 如在java中有字符串str,要改变自身的话需要 [code="java"]str=str.substring(x,x)[/code] 而ruby中只需 [cod...2008-04-01 16:01:29 · 432 阅读 · 0 评论 -
ruby-if判断的一个问题
ruby对if的布尔判断是很开放的,并不要求if后面必须是布尔量,比如 [code="java"] puts "hi" if 3 [/code] 输出hi,认为3是true,试了一下,除了 [code="java"] puts "hi" if nil [/code] 认为是false不输出hi之外,其他输入比如字符串,数字(即使数字为0),if统统认为是true。这...2008-04-09 18:26:19 · 152 阅读 · 0 评论 -
gettext本地化rake makepo时发生错误No such file or director
用gettext做本地化时,运行rake任务可能会碰到如下错误: No such file or directory - msgmerge po/xx.pot tmp.pot 这个错误的引起原因和解决办法见 [url]http://www.iteye.com/topic/170162[/url] 主要是安装一下gettext在windows下的二进制版本并设置path。上...2008-04-14 11:49:58 · 93 阅读 · 0 评论 -
变脸——让你的aptana变得“性感”
[size=medium]现在用aptana做开发,时间长了对默认的代码编辑器一张“素脸”产生严重的“审美疲劳”,白色的背景太不爽了,要想在写代码的同时带来另一种体验吗?比如一种“大师在宣纸上挥毫泼墨”的体验?:)那么换一换aptana的代码着色吧,使其变得“性感”一些 试过Dr Nic[url]http://drnicwilliams.com/2006/08/08/textmate-the...2008-05-05 12:30:30 · 78 阅读 · 0 评论 -
ruby编程百宝箱——ruby cook book
书跟人一般,也有性格特点,人的本事不一,书的作用也一样,可以运用在不同场合,在实际编程当中,你会遇到各种问题,比如小至处理一个字符串或者日期,大至写写webservice或者搞个守护进程,这个时候你手边阐发精深思想的“圣经”类书籍未必能发挥作用,因为你需要的是一个工具,解决现下遇到的问题,不管棘手或者有些tricky,那么,你需要的是一本工具书,上面列举了十八般武器铜锤剑戟,以及衡山华山泰山派的招...2008-05-06 10:15:42 · 129 阅读 · 0 评论 -
在console中强制class reloading
ror开发的一个强势就是其解释性勿须编译,对源文件的更改可以立即体现在运行中,当启动rails应用之后,可以运行ruby script/console对应用进行即时调试,比如对model进行query测试,检验find查询的语句编写和结果查看,好处是不用打开数据库控制台就可以进行数据库编程,在检查查询的同时也校验了程序的编写,提高了开发效率。最近在开发当中遇到个问题,就是development m...2008-05-14 11:34:15 · 159 阅读 · 0 评论 -
关于正则表达式
"An understanding of regex handling greatly benefits the modern programmer. A complete discussion of this topic is far beyond the scope of this book, but if you're interested see the definitive work M...2008-05-27 10:48:13 · 92 阅读 · 0 评论 -
aptana1.2.1的安装
在ubuntu上安装了eclipse3.4版本,要开发rails应用,随即安装aptana和radrails。根据aptana的网站安装说明,3.4版本需要切换到老的update manager,切换方法是preferences>general>capabilities,但是却没有找到相应的选项,general下面没有capabilities这个东西!郁闷。后来直接help>software up...原创 2008-12-07 21:52:43 · 82 阅读 · 0 评论