本月博客排行
-
第1名
龙儿筝 -
第2名
lerf -
第3名
paulwong - fantaxy025025
- johnsmith9th
- xiangjie88
- zysnba
年度博客排行
-
第1名
青否云后端云 -
第2名
宏天软件 -
第3名
gashero - wy_19921005
- vipbooks
- benladeng5225
- e_e
- wallimn
- javashop
- ranbuijj
- fantaxy025025
- gengyun12
- jickcai
- zw7534313
- qepwqnp
- 解宜然
- ssydxa219
- zysnba
- sam123456gz
- sichunli_030
- tanling8334
- arpenker
- gaojingsong
- xpenxpen
- kaizi1992
- jh108020
- wiseboyloves
- ganxueyun
- xyuma
- xiangjie88
- wangchen.ily
- Jameslyy
- 龙儿筝
- luxurioust
- mengjichen
- lemonhandsome
- jbosscn
- zxq_2017
- nychen2000
- lzyfn123
- forestqqqq
- wjianwei666
- ajinn
- siemens800
- zhanjia
- Xeden
- hanbaohong
- java-007
- 喧嚣求静
- kingwell.leng
最新文章列表
每天一剂Rails良药之exception_notification
每天一剂Rails良药之Getting Notified of Unhandled Exceptions中也提到了Exception Notification插件
该插件在production环境下,当程序出错时会给recipient发送notification邮件
Exception notification只会在访问的IP地址不为local时才工作,我们可以配置认为是local的IP:
c ...
file_column的undefined method `data_relative_path' 问题
我用了file_column0.31 rmagick1.141
经常出现这个问题
Showing app/views/user/list.rhtml where line #18 raised:
undefined method `data_relative_path' for #<Photo:0x6da7568>
我在file_column0打印出一些信息是这样的
显示图片发生异 ...
每天一剂Rails良药之continuous_builder和deadlock_retry
continuous_builder是一个Rails与Subversion集成的持续集成工具,参考http://hideto.iteye.com/blog/80873
deadlock_retry允许数据库驱动重试死锁的事务,它已经自动集成到ActiveRecord,我们不用更改任何代码就拥有该插件的重试事务的功能
每天一剂Rails良药之Validating Non-ActiveRecord Objects
对于非ActiveRecord对象的Validation,我们不能简单的include ActiveRecord::Validations
我们需要写一个module,如ValidatingNonARObjects/lib/validateable.rb
module Validateable
[:save, :save!, :update_attribute].each{|attr| d ...
每天一剂Rails良药之Adding Support for Localization
今天来看看Rails对于不同locale的支持,我们使用Globalize插件
ruby script/plugin install \
http://svn.globalize-rails.org/svn/globalize/globalize/trunk
然后我们生成migration文件
ruby script/generate globalize
然后运行
rake ...
每天一剂Rails良药之Keeping Track of Who Did What
今天我们看看怎样在数据库记录用户操作
db/migrate/002_add_audit_trails_table.rb
class AddAuditTrailsTable < ActiveRecord::Migration
def self.up
create_table :audit_trails do |t|
t.column :record_id, :i ...
rails缓存-part2
上一部分介绍了页面缓存.这部分住要介绍Action缓存,Fragment缓存,ActiveRecord缓存
这几种缓存的效果为:
1. Page Caching - Fastest
2. Action Caching - Next Fastest
3. Fragment Caching - Least Fast
1Action缓存
Action缓存和页面缓存很相似,但会被过 ...
每天一剂Rails良药之Processing Uploaded Images
今天来看看Rails怎样做Image的thumbnail
我们需要RMagick,它是ImageMagick/GraphicsMagick的Ruby API
我们先安装好ImageMagic/GraphicsMagick,然后安装RMagick:
sudo gem install rmagick
上传表单:
<% form_fo :image, @image, url=> { ...
每天一剂Rails良药之Quickly Inspect Your Sessions’Contents
session数据保存在Rails程序根目录下的tmp/sessions目录
Rails的sessions默认以Marshal Ruby对象保存
有时候程序由于session数据不对而出错,我们可以写一段脚本来检查session数据:
DumpingSessionContentsDuringDevelopment/script/dump_sessions
#!/usr/bin/env ruby
...
每天一剂Rails良药之Secret URLs
有时候我们没法做用户认证,比如一个用户的收件箱的RSS feed或者一个激活注册用户的链接
我们可以通过一个access_key来做访问控制
class Inbox < ActiveRecord::Base
has_many :messages
before_create :generate_access_key
def generate_access_key
...
每天一剂Rails良药之Making Your Own Rails Plugins
今天来看看怎样写Rails插件
首先我们生成插件框架:
ruby script\generate plugin active_record_search
我们生成了一个名为active_record_search的插件,我们希望给每个Model添加一个search方法,用来在多个fields中search某一string
vendor/plugins/active_record_search ...
每天一剂Rails良药之Dealing With Time-zones
UTC时间+时区偏移=本地时间
如果我们的系统需要支持全球用户,怎样保证不同时区的用户显示正确的本地时间呢
我们可以让用户选择自己的时区,记录在数据库,然后转换时间后显示
如users表有一个string的timezone字段记录时区
而恰好Rails里有一个TimeZone类,TimeZone.all可以得到所有时区:
class User < ActiveRecord::Base
...
我的gem 列表
看到 秀出你的Gem我也秀一下。
actionpack (1.13.3)
actionwebservice (1.2.3.6548, 1.2.3)
activerecord (1.15.3)
activeresource (0.9.0.6653)
activesupport (1.4.2)
builder (2.1.1)
capistrano (1.99.0)
cgi_multipa ...
解决rails mysql中文乱码
今天开始学着用RoR写一个blog程序,首先碰到的就是要解决中文乱码问题。我的rhtml显示的中文是正常的,mysql里面是乱码(mysql已经设为utf8,所以是生成的rhtml的问题)。设置mysql不难,直接把默认的latin1设为utf8,对于Radrails里的中文显示设置project属性的info中的编码为utf8。而rails的设置要添加一些代码:先说这两句,我也是在网上搜得,上面说 ...
每天一剂Rails良药之Extracting Test Fixtures From Live Data
Rails做单元测试时,我们自己手动去创建所有的fixtures会是个噩梦,有没有什么好的方案呢?
我们可以利用数据库里已有的数据,写一个rake tast来把数据库的数据复制出来到YAML文件里:
CreateFixturesFromLiveData/lib/tasks/extract_fixtures.rake
desc 'Create YAML test fixtures from dat ...
心愛的 Object 變心啦
剛剛發現一個很有趣的事情,寫 code 的時候,有兩個 Model :Person 跟 Setting ,他們呈現 1: 1 關係。結果當我想要創立一個新的 Person 的時候,為了希望能夠簡化設計,我就將其中一個人 a 當作預設值,每個新增 Person 的 Setting 直接 copy 一份過去,所以我就這樣寫a = Person.find(1)b = Person.new( :name ...
每天一剂Rails良药之Convert Your Sessions To ActiveRecord
我们看看config/environment.rb文件,其中有以下一段:
# Use the database for sessions instead of the file system
# (create the session table with 'rake db:sessions:create')
# config.action_controller.session_ ...
php+ruby(with ActiveRecord)又一新範例 -- RSS聯撥器
上個例子,我們用PHP + Ruby 搭配ActiveRecord的方式來寫資料新增的程式今天我們就來延伸應用一下,要做什麼呢? RSS聯撥器!有鑒於GoogleReader的RSS聯撥器產生出來的東西太醜(只能修改一兩個小地方.. 我總覺得那好胖= =),乾脆自己寫個來用Demo網址改天再PO上來,我們先來寫程式比較重要:P主機請記得先裝好Ruby、PHP、Apache跟MySQL;OS要啥都沒 ...
PHP + Ruby with ActiveRecord 範例
如果老闆要求使用php,可是您卻是Ruby狂熱者,這.. 怎辦呢?沒關係! 一樣用Ruby寫,php只要做一點點的處理就好!How to? php中有這個函式:exec( 本範例實作於Windows XP Professional搭配InstantRails;在其他作業系統上沒有測試過,不過各位還是可以嘗試看看 )我們來試試看吧!先寫個test.rb: #!/usr/bin/env ruby # ...