
Ruby RoR
allenmacyoung
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Meta-Programming in Ruby: 动态生成class,并添加attribute和method。
Ruby的动态语言特性和强大的meta-programming模型一直是让我这种Java程序员唏嘘感慨。看着RoR可以实现那么多魔术般的事情而不费吹灰之力,我着实想好好学学Ruby的meta-programming。可惜这方面资料好像比较少(至少我是没有找到什么好的,JavaEye这里讨论的也不多),我只能硬着头皮自己慢慢摸索。这篇文章只能算是一个最简单的入门,给大家展示一下Ruby中的meta-...2006-12-17 16:10:05 · 243 阅读 · 0 评论 -
在Leopard上手动安装RMagick
这几天刚刚给自己的小白安装了Leopard,开始迫不及待的把开发环境搬到上面去。Leopard已经自带了完整的ruby-1.8.6和rails-1.2.3,我的项目是用rails-1.2.6的,另外还有一些gem要安装,所以二话不说,马上开始。 [code="bash"] # 更新gems,从0.9.4到1.0.1 sudo gem update --system # 安装rails-1....2008-01-17 10:44:01 · 169 阅读 · 0 评论 -
使用ruby生成zip文件
首先安装rubyzip: gem install rubyzip 《Ruby Cookbook》里面简要地介绍了如何使用rubyzip读写zip文件,代码如下: [code="ruby"] # 写zip require 'rubygems' require 'zip/zipfilesystem' Zip::ZipFile.open('zipfile.zip', Zip::...2007-10-23 17:28:28 · 1148 阅读 · 1 评论 -
在habtm上使用polymorphic关联
我们知道,在rails中,habtm和polymorphic都是非常好的东东,特别是后者,可以说是rails的ORM中非常强大的功能。《Agile Web Development with Rails》虽然详细讲述了habtm和polymorphic关联,也讲了如何把模型类映射为连接表,但是并没有讲如何把habtm和polymorphic一起使用做一个介绍。这里我就来简单说一下。 还是出自真...2007-10-05 15:19:02 · 173 阅读 · 0 评论 -
尝试在rails中调用MySql的stored procedure,不过最终放弃了。
手头一个项目有这样一个需求,数据库中有一张学生表students,其中每个学生都有自己的生源地(come_from),用户希望能够随机的选择一些学生出来,但是要保证每个生源地的学生都有。 我的开发环境是RoR + MySql,简单考虑了一下后,第一个能想到的方法是在rails中生成随机数,然后用offset来得到随机的学生。但是这样做比较麻烦,性能也会很差,因为首先要知道每个生源地下有多少学...2007-10-03 17:00:27 · 144 阅读 · 0 评论 -
我的第一关rake文件
早就想找个机会写写rake文件,但是接触到的项目都不怎么需要,所以一直也没有去学习一下。这两天一个项目需要把客户给的很多excel文件导入到数据库中(我用的好似MySQL),到网上找了一些工具,感觉都不好,因为客户的excel格式比较乱(特别是日期的格式,竟然是中文数字和阿拉伯数字都有的...),所以就想干脆仔细写一个算了。这是正好想到可以顺便学习一下rake,于是就动手啦。 网上关于rak...2007-09-23 17:10:06 · 222 阅读 · 0 评论 -
批量下载railscasts上视频的ruby脚本
Railscasts 上面的视频已经出到117集了,很早就想把它们下载下来,但是一直苦于网速太慢。现在网络有了点儿改进,趁机写个ruby脚本把所有视频全部搞定。基本想法就是解析它的RSS,找到视频的地址,然后下载,简单得很。 require 'net/http' require 'rss/2.0' content = '' open('http://feeds.feedburner.com/...2008-07-14 12:00:20 · 301 阅读 · 0 评论 -
ferret啊,为你欢喜为你忧。
非常非常奇怪的问题。一开始在mac下面用standard rails bundle + ferret/acts_as_ferret,一切正常。后来想引入rmagick,于是使用rmagick bundle + ferrect/acts_as_ferret,结果报错,server启动不起来。mail list上去问,没人搭理咱。 索性换到windows上,顺便开始测试网页的浏览器兼容性。把代码...2007-08-09 18:05:33 · 192 阅读 · 0 评论 -
在Mac上安装RMagick?别以为有了Locomotive就万事大吉啦~
我或多或少算是一个Mac fan,但是对于这件事,我不得不说自己还是有一些失望的。在Mac上做开发已经有一段时间了,整体感觉就是Mac对developer的支持不是很好。也许Mac的目标主要就是家庭用户,但是作为Mac fan兼,当然是希望它能适合我么developer的口味。 这次的问题是在Mac上安装RMagick,网上有很多文章详细说明了如何手动安装,我这里就不重复了,而且手动安装也问...2007-08-02 09:30:48 · 153 阅读 · 0 评论 -
在controller里面怎么escape html内容?
在view里面可以用h来escape html内容。那在controller里面呢?我的需求是把一些数据用json格式发送到前台,这些数据是用户之前输入的。2007-07-24 10:24:54 · 164 阅读 · 0 评论 -
ActiveRecord中表关联的一个问题,belongs_to和has_many不是一一对应的情况。
一个挺有意思的问题,想了半天没有解决办法。 情景是这样的:系统中有两种category,system_category和user_category,所有属性都一样,只是一个是系统分类,一个是用户自己的分类。比如javaeye就是有这样的机制。用户发文时可以同时选择system_category和user_category。假如数据库的设计是system_category和user_categ...2007-07-19 18:15:50 · 229 阅读 · 0 评论 -
Rails routes mapping的一个奇怪的问题。顺便讨论一下如何做RESTful的paginate。
大家可以试验一下,在我的开发环境中会出现这个问题,不知道是不是只有我有问题。做法如下: [list] [*]随便建立一个Rails工程; [*]随便生成一个scaffold_resource,比如map.resources :articles; [*]在routes.rb中加入如下代码,添加自己的routes mapping: [code="ruby"] map.articles_pa...2007-07-18 09:33:25 · 140 阅读 · 0 评论 -
[讨论]部署Rails的最佳方案是什么?
从来没真正部署过一个production级别的rails应用,但是9月份很可能要部署一个,所以最近也开始关注Rails的部署问题。这里算是抛砖引玉吧,还请各位有经验的同志热烈讨论,我想很多人也都对这方面很感兴趣。 Robbin之前的帖子里面讨论过如何选择Rails的部署方案,也挺详细的,我估计硬件和操作系统方面大家分歧应该不大,总归是linux,服务器越强劲,内存越大越好。所以问题就到了软件...2007-07-06 13:46:00 · 164 阅读 · 0 评论 -
Rails中使用REST,登录相关的问题,如何获得当前正在处理的url?
如果整个routes是使用传统的mvc方式实现的话,我们可以简单地记录一下当前的controller和action的名字,等到登录成功之后就可以redirect过去。 但是如果使用REST,则就不能简单地记录controller和action,例如/articles/1;edit这样的url就比较特别。另外一个问题是,除了要记录url外,还要记录使用什么HTTP Method,是GET, P...2007-07-03 16:39:07 · 152 阅读 · 0 评论 -
Eclipse 3.3携Europa正式发布了
刚刚逛了一圈论坛,竟然没人提到这么个消息,难道Eclipse真的没落啦? Europa的事儿咱就不说了,之前有一位仁兄已经讲得很清楚了。今天上午到Eclipse主页上溜达了一下,发现3.3在昨天发布了,应该算是一个不小的新闻哦。记得前一阵子总有人说Eclipse发布的速度变慢了,跟不上NetBeans,看来这次发布算是小小地安抚了一下Eclipse的粉丝们啊。 主页上明显的一个变动是提...2007-07-01 12:57:18 · 267 阅读 · 0 评论 -
在apple上使用ruby的郁闷事儿
安装了那个Locomotive,还有iTerm,还有Textmate,以为就万事大吉了。然后运行gem安装ferret,没想到竟然报错说无法make。到命令行下试了一下,果然不能使用gcc啊,make啊这样的东东。Mac不是Unix-based灭? 于是去google了一下,发现要装个xcode才能搞定这些东东,敢情apple把这些东西都给踢掉了啊。在去看看xcode,倒还是免费的,不过安装...2007-06-23 19:49:17 · 153 阅读 · 0 评论 -
在ubuntu下安装ruby需要注意的事情
这里说的是通过apt-get安装ruby,自己编译的情况就免了。 首先,在安装ruby本身时一定要把ruby和ruby-dev全安装了。现在的版本是1.8,因此应该执行如下命令 [code] sudo apt-get install ruby1.8 ruby1.8-dev rubygems [/code] 这是因为许多plugin或者gems都要依赖dev下面的东东,比如ferret...2007-06-23 19:41:19 · 218 阅读 · 0 评论 -
基于model动态地ComboBox为生成options
在使用RoR创建form时,很多时候需要基于model之间的关系创建ComboBox。RoR提供了很多方便的helper方法帮助我们完成一个 form的创建。例如,如果想要为article创建一个form,并且要为article选择category时,可以使用如下方法: [code="ruby"] url, :html => { :method => method }) do |f| %> ...2007-06-17 16:17:59 · 167 阅读 · 0 评论 -
在Leopard上使用NetBeans Ruby IDE
本来像NetBeans这样到东东,应该是装上就可以用到。但是在Leopard上就是有些问题出在gem上面。Leopard上默认的gem目录是系统目录,而NetBeans管理gem的时候需要写权限,于是就会报错了。典型的情况就是安装ruby-debug-ide的时候。 为了解决这个问题,我们可以为NetBeans设置自己的GEM_HOME,也就是它把gem安装到哪里。假设你是使用dmg安装的N...2008-01-17 10:57:41 · 123 阅读 · 0 评论