rails
WalleZhang
这个作者很懒,什么都没留下…
展开
-
linux下进入rails console提示cannot load such file -- readline
在linux下输入rails console,之后提示错误,如下:/usr/local/ruby/lib/ruby/1.9.1/irb/completion.rb:9:in `require': cannot load such file -- readline (LoadError) from /usr/local/ruby/lib/ruby/1.9.1/irb/co...原创 2011-12-17 20:38:56 · 208 阅读 · 0 评论 -
Questions about updating rails1.2.6 to rails2.2.2
今儿把很古老的Rails1.2.6升级到了2.2.2,还好做了很充分的心理准备,呵呵,果然出了很多错误~ 先说说升级的步骤吧~ 1、卸载Rails1.2.6gem uninstall rails 然后安装新的Rails,由于是最新版本,所以不用加版本号,直接输入gem install rails 耐心等待…… 2、更新gemgem update --system 3、Ra...2009-02-24 21:31:48 · 86 阅读 · 0 评论 -
Rails实现Remember me
我们要用cookies来实现这个功能,大多数用户使用session来实现存储用户的登录信息,这是一个很好的做法。session跟cookie不同,session可以自动加密要存储的信息并用浏览器的cookie来存储。 ActionController#cookie提供了一个在浏览器存储信息的方法,但是不能自动加密,如果你需要的话,可以自己加密。 如果一个用户选择了remember me这个...2009-07-21 11:41:16 · 110 阅读 · 0 评论 -
Rails开发技巧集锦
* 将你的程序所用到的密码和API证书号保存在一个自定义的配置文件中。我使用一个YAML并沿用了database.yml类似的格式。 * 有需要的时候就使用常量。不要重复诸如你的客服邮件地址这类字符串,而是将它们保存在常量中(可以保存在environment.rb或者你自己的配置文件中),然后在整个程序中使用该常量。 * 保持使用UTC时间,这可以使你的程序有更好的一贯性。(不...原创 2009-07-20 12:50:55 · 96 阅读 · 0 评论 -
Speeding up a Rails request by 150ms by changing 1 line
We’re pretty obsessed with performance at Gilt Groupe. You can get a taste for what we’re dealing with, and how we’re dealing with it, from our recent presentation at RailsConf. One o...原创 2009-07-20 12:49:33 · 101 阅读 · 0 评论 -
Proposal: Finalize Web Services APIs
IntroductionNow that the OpenSocial REST API and the Shindig implementation is stabilizing, we can finalize the SocialSite REST API – which is OpenSocial plus our extensions that support friending, g...原创 2009-01-16 09:16:56 · 147 阅读 · 0 评论 -
REST APIs must be hypertext-driven
I am getting frustrated by the number of people calling any HTTP-based interface a REST API. Today’s example is the SocialSite REST API. That is RPC. It screams RPC. There is so much coupling on displ...原创 2009-01-16 09:14:44 · 166 阅读 · 0 评论 -
在Linux平台上用lighttpd+FastCGI部署rails问题点滴
具体方法参照Robbin的这篇文章~~http://www.iteye.com/topic/43228 我就说说自己遇到的问题: 问题1:pcre库没有安装,导致配置lighttpd出现错误。解决方法:①wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-7.6.tar.bz2,从官方下载最新的pc...2009-06-16 09:24:35 · 126 阅读 · 0 评论 -
在Windows平台使用Apache2.2和Mongrel运行Ruby on Rails
一、安装Ruby、rails、mongrel和Apache2.2 从rubyforge网站下载One-Click Ruby Install,运行安装程序,就安装好了ruby和rubygems。 运行命令:gem install rails –ygem install mongrel –ygem install mongrel_service -y安装好了rails和mongrel...原创 2008-12-19 12:39:40 · 81 阅读 · 0 评论 -
在Linux平台上安装和配置Ruby on Rails详解
ruby on rails推荐的生产运行环境是Linux/FreeBSD/Unix,即Unix系列的操作系统,采用lighttpd+FCGI的解决方案。以下我将以Linux操作系统,lighttpd+FCGI,MySQL数据库为例,从源代码编译安装开始讲解。 在安装之前,应该确认Linux操作系统已经安装好gcc编译器,否则请用Linux安装光盘先行安装gcc编译器:gcc –v 如能返...原创 2008-12-19 12:34:24 · 90 阅读 · 0 评论 -
支持ROR的虚拟主机
国内: http://www.railschina.com/ www.123server.cn http://www.35.com http://www.8-host.net http://www.londit.cn/ 国外: http://mediatemple.net/推荐 http://railsplayground.com/ http://www.bluehost.com http://w...原创 2008-12-19 09:00:36 · 177 阅读 · 0 评论 -
ruby on rails 常用正则表达式
正则表达式用于字符串处理、表单验证等场合,实用高效。现将一些常用的表达式收集于此,以备不时之需。 匹配中文字符的正则表达式: [\u4e00-\u9fa5]评注:匹配中文还真是个头疼的事,有了这个表达式就好办了 匹配双字节字符(包括汉字在内):[^\x00-\xff]评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1) 匹配空白行的正则表达式:\n...原创 2008-12-13 23:14:40 · 365 阅读 · 0 评论 -
windows下用apache+mongrel部署rails
参考了robbin的文章,相关链接:在Windows平台使用Apache2.2和Mongrel运行Ruby on Rails 但是按照文章上面的配置之后,发现网站的样式和图片都丢失了,上网查看apache的文档,发现ProxyPass /images ! ProxyPass /stylesheets ! ProxyPass /javascripts ! ...2008-12-12 14:38:42 · 276 阅读 · 0 评论 -
ruby1.8.6自带的rexml问题解决
尝试用rexml来解析xml文档的时候出现问题: undefined local variable or method 'transitive' in document.rb 于是乎查看rexml的document.rb文件,大概在182行附近有一个方法:def write( output=$stdout, indent=-1, trans=false, ie_hack=false ) ...2008-11-29 21:03:58 · 199 阅读 · 0 评论 -
Rails Migration Data Types – MySql – Postgresql – SQLite
Railsmysqlpostgresqlsqlite:binaryblobbyteablob:booleantinyint(1)booleanboolean:datedatedatedate:datet...原创 2010-06-04 19:09:48 · 92 阅读 · 0 评论 -
Ruby1.9.2+Rails3.0.3迁移文件中加索引出错的解决办法
环境:Ruby1.9.2Rails3.0.3Gem Mysql2 用restful_authentication这个插件生成的迁移文件中,会添加一个login字段的索引add_index :users, :login, :unique => true但是在执行迁移过程中,会提示出错,大概出错信息如下:An error has occurred, all l...原创 2011-01-03 23:53:26 · 162 阅读 · 0 评论 -
oauth GEM的几个小例子
1、注册并认证你的应用 #!/usr/bin/ruby # Get all the auth details you need# You wouldn't actually do it this way, but hey.# Normally you'd distribute the consumer stuff with your# application, a...原创 2011-03-22 08:32:32 · 171 阅读 · 0 评论 -
rails3使用declarative_authorization注意事项
Rails3中把declarative_authorization作为plugin使用的时候,会在启动服务器的时候会遇到以下错误:"declarative_authorization" is a Railtie/Engine and cannot be installed as a plugin (RuntimeError)google了一下,发现在其项目主页上有一个修复,解决...原创 2010-11-17 17:32:40 · 109 阅读 · 0 评论 -
rails3使用restful-authentication
首先要下载支持Rails3的restful-authentication,地址:https://github.com/Satish/restful-authentication按照正常的安装顺序安装之后,会报如下错误:uninitialized constant UsersController::AuthenticatedSystem在Rails3中不会自动加载li...原创 2010-11-09 14:01:03 · 90 阅读 · 0 评论 -
Ruby如何用Oauth与第三方网站互动
首先是介绍一下这个gem:oauth项目首页是:http://oauth.rubyforge.org/,封装了Oauth的一些加密的过程和获取access token的过程,直接调用相应方法就可以了,里面也有例子可以参考。 这个Gem有一点问题还没有解决,比如微博需要上传文件,就不行咯。。。。大概原理是这样滴,这个gem会自动对传过去的所有参数进行签名,具体的签名方法请参考Oauth认...2011-03-13 12:25:07 · 139 阅读 · 0 评论 -
Rake提示uninitialized constant Rake::DSL解决办法
环境:Ruby 1.9.1/Rails 3.0.9/Rake 0.9.2在运行rake db:create的时候提示rake aborted!uninitialized constant Rake::DSL/usr/local/ruby/lib/ruby/1.9.1/rake.rb:2482:in `const_missing'/usr/local/ruby/lib/ruby/...原创 2011-06-20 00:09:13 · 237 阅读 · 0 评论 -
升级gem提示缺少no such file to load zlib
升级gem提示 no such file to load zlib,按照以前的经验,马上安装了zlib1g-dev,运行后问题依旧存在,无奈。突然起ruby source中包含zlib文件,最终解决办法如下。1、进行ruby源码包2、安装ruby自身提供的zlib包> cd ext/zlib>ruby ./extconf.rb>make>sudo make install再...原创 2011-02-20 01:16:18 · 100 阅读 · 0 评论 -
CentOS用gem安装Mysql2提示缺少mysql.h
环境:CentOS6Ruby1.9.2Rails3.0.10在安装完了Mysql之后,用Gem安装Mysql2,提示以下错误:[code="ruby"]mysql.h is missing[/code]运行以下命令即可解决:[code="ruby"]yum install mysql-devel[/code]这个错误应该会多出现在红帽和CentOS中。...原创 2011-08-30 12:17:02 · 180 阅读 · 0 评论 -
Ubuntu安装Mysql Gem
在安装过程中出现如下错误:Building native extensions. This could take a while...ERROR: Error installing mysql: ERROR: Failed to build gem native extension./usr/bin/ruby1.8 extconf.rb install mysql...原创 2010-11-03 14:49:08 · 113 阅读 · 0 评论 -
如何寫出有效率的 Ruby Code
Instance Variables versus Accessors@attrubute 比 self.attrbute 快(method call 比較貴),如果你不需要 public method 或有 sub-class 的需求,請考慮不要用 attr_accessor 等方式來建立 read/write method。Local Variables Are Cheapmeth...原创 2010-09-28 22:44:51 · 107 阅读 · 0 评论 -
使用Ruby解析图片EXIF数据获取坐标信息
最近在做一个项目时需要将图片EXIF信息解析出来并获取相应GPS坐标信息,用于在Google Map中使用, 找到了一些Ruby解析EXIF信息的类库, 相比之下还是 exifr这个gem不错, 零依赖,直接ruby调用.1. 获取EXIF信息require 'rubygems'require 'exifr'obj = EXIFR::JPEG.new('geo.jpg...原创 2011-01-10 08:32:46 · 324 阅读 · 0 评论 -
Debian5安装Thin时候出现no such file to load -- openssl
今天在执行thin install的时候,出现no such file to load -- openssl于是乎运行apt-get install openssl,一切都安装完毕,然后进到ruby的source里面重新编译openssl也无果。 网上查到解决方法,如下:apt-get install libssl-dev,安装完成之后,再重新进到ruby的source里面编译op...2011-04-19 22:38:35 · 169 阅读 · 0 评论 -
Paperclip提示command is not recognized by the 'identify
用Paperclip来裁减图片,会提示如下错误:/tmp/stream20100103-13830-ywmerx-0 is not recognized by the 'identify' command解决办法,在config\initializers目录下建立一个custom_requires.rb文件,在里面加入如下语句来指定ImageMagick的安装位置Paperclip.o...2011-01-05 00:43:12 · 245 阅读 · 0 评论 -
在Debian上部署Ruby On Rails应用(续)
写在前面:其实这个续应该和前面那个部署的文章互换一下顺序……哈哈,前一篇参见《在Debian上配置Nginx+Thin服务器跑ROR》。开始正文吧首先我们需要把源代码传到Debian服务器上,这里可以采用各种办法,我是在vps上搭建了一个svn,这样比较省事,直接checkout就OK了~以后需要更新的话直接update。当然可以采用capistrano自动部署~ 进到svn检出的...2011-01-05 00:36:37 · 104 阅读 · 0 评论 -
实现文件的下载
Controller:把这段代码放入 download_controller中class DownloadController < ApplicationController def download send_file "public/files/"+params[:filename] unless params[:filename].blank? end endVie...原创 2008-11-29 19:35:12 · 138 阅读 · 0 评论 -
连接多个数据库
首先在database.yml中加入以下代码,其中cg_clone是外部等待使用的数据库。cg_clone: adapter: mysql database: cg_clone username: root password: host: localhost 假如在cg_clone中有一张表叫contracts,那么生成Contract类。并用establish_connection来...原创 2008-11-29 19:34:03 · 216 阅读 · 0 评论 -
restful_authentication with state machine
一直使用 restful_authentication 作用户认证,最近它加上的状态机功能(用了 acts_as_state_machine),装上以后遇到灵异事件,系统发出的激活邮件里面的激活码和数据库里面存的不一样。我并不了解 acts_as_state_machine 的具体机制,只是觉得下面一行可能运行了两遍:state :pending, :enter => :...原创 2009-10-26 15:58:46 · 78 阅读 · 0 评论 -
抓出你Rails网页上的错误
跑在线上的 railsapp 抛出来的 exception 很重要,依靠它才能发现实际的 bug, 但是看 production log 是完全不靠谱的方式, 之前有个 exception notifierplugin 可以在出现异常的时候发邮件, 但是我没有 smtp server 怎么办?急人之所急, 想人之所想, 老外抓住了这个细分市场, 出现了两个专门捕捉 exceptio...原创 2009-10-26 15:57:49 · 84 阅读 · 0 评论 -
acts_as_taggable_on_steroids 与 will_paginate 的整合
使用 acts_as_taggable_on_steroids 之后经常找有某个 tag 的 item: @items = Item.find_tagged_with(”tag”)找到很多需要分页显示,于是顺利成章的在后面加上: @items = Item.find_tagged_with(”tag”).paginate :page => paramsp[:pag...原创 2009-10-26 15:56:43 · 77 阅读 · 0 评论 -
use current_user in Model
我所有的项目几乎都用 restful_authentication 做了用户管理这部分,应用中经常要在 model 中调用 current_user,而这个是 session 相关的信息,在 Model 中不应直接读到,Google 到一个比较不错的办法,是 Beast 的作者提供的。首先在 User Model 中加入一个类变量:class User < ActiveRecor...原创 2009-10-26 15:55:09 · 127 阅读 · 0 评论 -
用Google来翻译你的网页
在 Google Translate 上面有个很实用的 browser bookmark,实际上是一段 js 脚本,用它可以将当前网页用 Google Translate 翻译成各种语言。这段 js 一样可以用在你的网站中,这样就能给网站添加一个简化的多语言版本了,最大的问题也就是你网站的界面设计可能不适应翻译过来的语言。如果想让翻译的页面在新窗口中打开,可以参考这篇博客方式就...原创 2009-10-26 15:54:10 · 210 阅读 · 0 评论 -
如何创建好友动态
好友动态在各大社交网站中基本上已经是标配了,而且一般都会显示在用户登录之后的默认首页上,这种做法的确方便用户了解网站和自己朋友的一些动态。设计上应该如何实现呢?Google 了一些资料,整理在下面,欢迎有实际经验的朋友指点!用户看到的可能是三种情况:我的动态好友的动态全站的动态朋友动态这种信息,根据网站的实际情况需要考虑几个问题:1、是否只让用户看到最新n条...原创 2009-10-26 15:51:15 · 156 阅读 · 0 评论 -
in_place_editor用法
今天想做一个在线编辑的东西,翻遍了图书,讲的都是用in_place_edit_for在controller里面添加一个方法,然后在相应的视图里面添加一个in_place_editor_field的help方法,在实现现场编辑功能,但是如果需要实现现场编辑功能的时候,并没有配套的controller怎么办……查询了Rails的类库,发现除了上述提到的2个以外,还有一个in_place_editor方...2008-11-12 22:03:39 · 523 阅读 · 0 评论 -
FB3.0破解补丁
按照文件里面的方法修改,可行!原创 2008-11-01 22:55:49 · 233 阅读 · 0 评论 -
error_messages_for and error_message_on中文化
一般我们都要模型内使用validates_xxx_of 这样的确认信息。而这些信息是英文的,我们用三种方法来中文化它。一、覆写:message:validates_format_of :image_url,:with => %r{.(gif|jpg|png)$}i,:message => "必须是 GIF,JPG或PNG图片!!!"使用这种方式时,我们就损失了一些通用信息的方便...原创 2008-10-26 13:20:48 · 225 阅读 · 0 评论