Ruby on Rails
tiroc
体会生活、感悟生活
展开
-
Rails用check_box_tag收集多个复选框的值
ps:尽量不要用带_tag的方法--------------------------源自: http://hi.baidu.com/hlxwell/blog/item/9b398cd379c89933960a1662.html错误的处理方式:.html.erb<% @roles.each do |role| %> <%= check_box_tag ...原创 2010-08-06 11:59:55 · 381 阅读 · 1 评论 -
Ubuntu 11.10安装RMagick
Ubuntu 11.10(DVD)默认就安装了ImageMagick,但是没有安装相应的dev库,所以通过convert -version查看,发现确实已经安装了ImageMagick,但是安装RMagick的时候,依然提示:[quote]ubuntu 11.10 Can't install RMagick 2.13.1. Can't find Magick-config in ...[/qu...原创 2011-11-09 21:06:03 · 119 阅读 · 0 评论 -
将Rails项目从Ruby 1.8.7升级到Ruby 1.9.2的脚本
Ruby 1.9的代码文件中,如果包含了utf-8字符,那么需要在文件的第一行加上# encoding: utf-8。我找到这样一个脚本来自动增加。[url]http://stackoverflow.com/questions/3999415/why-are-all-strings-ascii-8bit-after-i-upgraded-to-rails-3/4158423#4158423[/...原创 2011-12-01 18:20:03 · 90 阅读 · 0 评论 -
Monkey Patch让Paperclip支持中文名称的文件上传
使用Paperclip上传文件,如果文件名包含中文,会导致Arel抛出一个异常:[quote]Encoding::CompatibilityError (incompatible character encodings: ASCII-8BIT and UTF-8)[/quote]这个问题在StackOverflow上也有人在问,不止是中文,其他语言也有。huacnlee在2010年就创建了...原创 2012-02-05 14:06:59 · 101 阅读 · 0 评论 -
Monkey Patch让Simple Form支持Bootstrap
Twitter推出[url=https://github.com/twitter/bootstrap]Bootstrap[/url]有段时间了,一直关注,还没有机会用一下。刚好看到xdite的这篇[url=http://blog.xdite.net/posts/2011/11/10/simple-form-your-form-framework/]《Simple Form - 你的 Form Fr...原创 2011-12-06 14:17:38 · 81 阅读 · 0 评论 -
Ubuntu下设置Sublime Text 2汉字显示
[url=http://www.sublimetext.com/]Sublime Text 2[/url]是一款收费软件,不过目前它可以无限期试用,除了在偶尔保存文件的时候会提示你购买。由于我还用不好VIM的NERDTree,也还没适应它的多文件切换方式,所以准备使用Sublime Text 2来做源码查看、多文件对比等等工作。Sublime Text 2是支持UTF-8编码文件的汉字显示...原创 2011-12-07 10:49:03 · 106 阅读 · 0 评论 -
Mongoid::Criteria 和数组
因为 Mongoid::Criteria 的实例可以响应一些迭代器方法,所以有时候会让人产生错觉。它在有些情况下会自动加载数据,有的时候则不会,在完全掌握这东西之前,一定避免依赖于延迟加载、自动类型转换等东西,因为看起来会很有迷惑性:[code="ruby"]1.9.3p194 :045 > users = UserMongo.in(id: [4017]) => translati...原创 2012-10-23 12:49:31 · 562 阅读 · 0 评论 -
使用 rails_admin + cancan 时,发生 No route matches {:controller=>"home"}
囧rails_admin 官方的 wiki 中已经写了,是我自作主张没看。。。。。[url]https://github.com/sferik/rails_admin/wiki/CanCan#handle-unauthorized-access[/url]----------------------------------------------弄了个小项目,后台使用 ra...原创 2013-04-12 09:32:29 · 153 阅读 · 0 评论 -
Rails文件上传MIME类型值
在做文件上传功能的时候,需要限制文件上传的类型,通常获取MIME的方法就是打开搜索引擎搜一下,复制回来。现在Rails中可以简单的通过构造一个文件名来得知一种文件对应的MIME值。[code="ruby"] MIME::Types.type_for("filename.docx").first.content_type[/code]输出[quote]application...原创 2012-08-03 22:16:03 · 125 阅读 · 0 评论 -
Rails 开发小贴士积累
[list][*] Model (ActiveRecord) 中 Boolean 类型的属性,在做是否存在的校验的时候,不能使用 presence: true ,而是要使用 inclusion: { in: [true, false] }。否则,当值为 false 的时候,会校验失败。[*] ClienSideValidations 对 Boolean 类型的属性做 inclusion...原创 2012-08-24 14:25:55 · 74 阅读 · 0 评论 -
SimpleForm 2.0 使用方法
[size=medium][b]从Redmine中备份出来的,有时间再重新排版[/b][/size]h2. SimpleForm 2.0和 Formtastic 的整体比较Formtastic 的主要缺点在于对HTML输出的可定制性上不够灵活。目前的系统中,想要满足各种表单的需求,就需要在每个表单页写很多重复的代码进行设置,甚至很多页面都在使用 Rails 原生的 Form Bui...原创 2012-12-06 10:43:31 · 980 阅读 · 0 评论 -
Rails 3 Client Side Validations 工作机制备忘
最近看了一下 [url=https://github.com/bcardarella/client_side_validations]Client Side Validations[/url] 这个插件 JavaScript 部分的源码,记录一下对它的理解(版本为 Rails 3 Client Side Validations - v3.1.0 )。[b]一、客户端校验的设置信息[/b]...原创 2012-09-05 15:06:57 · 128 阅读 · 0 评论 -
初次在Rails项目中使用PostgreSQL,纪录一些简单的步骤
一、安装PostgreSQLUbuntu 下可以用 apt-get 来安装[code="bash"]sudo apt-get install postgresql postgresql-contrib[/code]Mac OS X 10.9.1 使用 Homebrew 安装[code="bash"]brew install postgresql[/code]二、修改...原创 2013-11-16 10:26:01 · 333 阅读 · 0 评论 -
Rails中Mongoid的时间日期字段使用 datetime_select
[url]http://stackoverflow.com/questions/3958052/datetime-with-mongodb-mongoid-and-rails-3-not-populating[/url]在model中[code="ruby"]include Mongoid::MultiParameterAttributes[/code]原创 2013-01-23 01:57:19 · 214 阅读 · 0 评论 -
RSpec笔记 - let 和 let!
RSpec 的 let 是一个很方便的用法,但是今天在写一段测试的时候,死活通不过。刚开始还怀疑是 PostgreSQL 的查询语法有什么特殊的(刚用PostgreSQL,还不熟),结果查了一圈发现,是我用错了 let 语句。来看看这段测试[code="ruby"] describe "scope" do let(:articles) { rand(2..10).times...原创 2013-11-24 00:20:30 · 296 阅读 · 0 评论 -
Rails3中使用jQuery代替Prototype的方法
1、在Gemfile中增加 gem "jquery-rails" 2、 在项目根目录下执行下列命令: bundle install #安装相关gemrails generate jquery:install #使用 --ui 参数安装 jQuery UI --version参数指定JQuery版本 (目前默认使用jQuery 1.5) ...原创 2011-03-24 13:22:20 · 101 阅读 · 0 评论 -
《Rapid Development with Rails》-- 不要老想着Rails的CRUD,看看它的真正优点
## 原作者:xdite# 原文地址: http://blog.xdite.net/?p=2124# Rapid Development with Rails ( OSDC 演講) 這是我在 OSDC 2011 的前言草稿。本來是打算週六才打算放出來的,不過目前對岸正在 Twitter 上演 Rails 與 PHP 之爭(詳情請看 @robbinfan 與 ...原创 2011-03-23 10:03:00 · 74 阅读 · 0 评论 -
Rails3中使用Kindeditor
现在富文本编辑器挺多的,有轻巧型的,也有功能强大型的。如果你发现CKEditor、TinyMCE不是你想要的,你可以考虑一下Kindeditor这个漂亮的Editor,在Rails中配合插件使用,还是比较简单的。安装和使用: doabit做了一个gem在https://github.com/doabit/kinde...2011-05-04 12:17:10 · 88 阅读 · 0 评论 -
Rails3中使用paperclip上传图片并加水印
这篇文章主要记录一下使用paperclip加水印的过程中,出现的一点问题。如何增加水印,请看这篇文章:《rails3+ paperclip图片加水印》(到步骤5的时候去这里下载https://gist.github.com/956795)http://doabit.iteye.com/blog/762103 如果想了解更多的paperclip,请看下边这篇文章,很详细:《Rai...原创 2011-05-05 18:10:34 · 97 阅读 · 0 评论 -
Rails3使用backup备份数据
这篇比我写的好,而且更详细 http://blog.eddie.com.tw/2011/05/24/backup-your-website/ backup是一个非常强大的备份工具,用来备份数据库和文件十分方便,先来看一下支持情况: 支持备份: 数据库、单个文件、整个目录操作系统: UNIX-like (目前还不支持windows)数据库: MySQL, Postgr...原创 2011-05-18 09:54:46 · 134 阅读 · 0 评论 -
Rails3验证码插件
插件地址:https://github.com/galetahub/simple-captcha/ thoughtrails使用的的验证码: https://github.com/zendesk/captcha原创 2011-02-12 15:57:22 · 80 阅读 · 0 评论 -
Rails 3的Routing中:as选项与Rails 2中不同
在Rails 2中,:as选项改变的是实际的path: #路由配置map.resources :posts, :as => :articles 执行 rake routes 输出如下: posts GET /articles(.:format) {:controller=>"posts", :action=...原创 2011-02-13 18:02:39 · 124 阅读 · 0 评论 -
respond_with的用法
随着学习的深入,Rails 3带给我的惊喜越来越多。respond_with实在是个好东西,最初是在一篇大牛的博客中看到这个东西。不过奇怪的是在api.rubyonrails.org中找不到它的说明。刚刚又看了一片关于respond_with的博客《respond_with in Rails 3》,写的很详细。 以前用respond_with,感觉总是模...原创 2011-02-17 16:42:32 · 1933 阅读 · 0 评论 -
backup备份文件时指定archive.exclude需要注意的问题
之前我写过一个关于backup如何备份数据的文章http://tiroc.iteye.com/blog/1048042 今天主要记录一下,在压缩文档时指定排除一些目录和文件会遇到的问题。(目前只是我这里的情况,其他环境有待验证) archive :my_archive do |archive| archive.add File.expan...原创 2011-06-10 18:19:43 · 216 阅读 · 0 评论 -
Rails中如何去掉to_json中的root
在使用to_json的时候,常常需要把root节点去掉。但是to_json方法本身有没有这个选项来控制,现在把网上找到的解决办法记录一下: 如果想要整个应用中,所有的model的to_json都去掉root的话,用这个:ActiveModel::Base.include_root_in_json = false 也可以针对某个mo...原创 2011-02-23 17:34:15 · 82 阅读 · 0 评论 -
Rails部署
Study Notes: Passenger + Capistrano + Nginx + Rails 2.3.4 + Ubuntu 9.04 (10 steps) Nginx + Passenger 开发Rails应用 服务器部署之 ruby1.9.2+rails3+nginx+passenger+postgresql passenger+ng...原创 2011-02-24 11:14:16 · 75 阅读 · 0 评论 -
使用thinking sphinx实现全文检索
主要记录一下个人遇见的问题,以免再犯。具体步骤请移步至:http://www.cnblogs.com/rubylouvre/archive/2009/07/23/1529029.html 版本: thinking sphinx 2.0.0问题:搜索汉字无结果,ascii可以解决:当前版本rake ts:conf生成的配置文件,有问题,按下面代码进行修改: index c...原创 2011-07-07 18:03:45 · 92 阅读 · 0 评论 -
Rails:小心_destroy的autocomplete
在Rails的嵌套表单中, 如果在model的accepts_nested_attributes_for后加入了:allow_destroy => true ,就可一通过在表单中提交一个_destroy,来控制是否删除嵌套属性。(嵌套表单)问题出现在这样一个场景:1、用户在编辑一个相册,删除了一些照片(并没有真正的删除,只是把_destroy隐藏域设置为true,并且隐藏了这些...原创 2011-09-27 10:12:26 · 119 阅读 · 0 评论 -
Rails3 ActiveRecord::ReadOnlyRecord的解决办法
通过model间的关联find出来的对象,默认是只读的[code="ruby"] def update @article = @guide.articles.find(params[:id]) flash[:notice] = '更新成功!' if @article.update_attributes(params[:article]) respond_wi...原创 2011-07-22 16:22:58 · 185 阅读 · 0 评论 -
使用Cucumber测试Rails时,预先装载seeds.rb中的数据
我习惯把网站的一些预设数据放到db/seeds.rb中,比如网站的角色创建。由于Cucumber在每次测试的时候都会重置数据库,所以必须要想办法让数据库重置之后,把这写预设的数据也载入到测试数据库中。如果你也遇到相同问题,可以使用下边这种方法: # lib/tasks/cucumber.rake#Cucumber::Rake::Task.new({:ok => 'db:test:...原创 2011-10-19 22:03:55 · 133 阅读 · 0 评论 -
rails3中production模式下找不到css、js和图片文件
在rails3中,production模式默认是不处理静态文件的。在config/environments/production.rb中有这么一段: # Disable Rails's static asset server # In production, Apache or nginx will already do this config.serve_s...原创 2011-03-21 13:10:52 · 136 阅读 · 0 评论 -
[gem] acts_as_list
注意事项:1. 当在 STI 中,用 type 字段来做 scope 时,如果使用 Symbol,就会报错[code="ruby"]acts_as_list scope: :type[/code]原因在:[url]https://www.ruby-forum.com/topic/91504[/url]解决办法:改成数组[code="ruby"]acts_as_lis...原创 2013-07-09 15:09:07 · 103 阅读 · 0 评论