- 浏览: 169163 次
- 性别:
- 来自: 广州
最新评论
-
dongxuef:
正奇怪呢,原来你也没深究.源码中_params被default ...
在Rails的controller中访问params的一个小细节 -
sunsonavaj:
Rails 3 下自定义错误信息显示页面 -
Hooopo:
Thx!
ubuntu下让netbeans的字体变得好看些 -
ybffnst:
paperclip 对错误消息的处理是对字符串进行处理的,不支 ...
如何自定义处理ActiveRecord中的errors信息 -
wozhidao:
这个方法有个很大的bug,远程图片的时候是取不到扩展名的,上传 ...
paperclip定制文件名
文章列表
rails中的多态关联功能,很好很强大。
但是多态关联的方法名却不够人性化,下面用代码来说话。
class Brand < ActiveRecord::Base
has_many :evaluations,:as => :evaluation
end
class Page < ActiveRecord::Base
has_many :evaluations,:as => :evaluation
end
class Evaluation < ActiveRecord::Base
belongs_to :evaluation,: ...
在ruby中
Time.now和Time.local是返回本地时间,Time.gm返回的是UTC时间(看成了文档才知道Time.gm和Time.utc是一样的)
我竟然写了段这样的代码:
t1 = Time.gm 2008,11,27,9,0,0
t2 = Time.gm 2008,11,29,17,0,0
now = Time.now
return puts 'xx' if now < t1 or now > t2
上面的Time.gm应该用Time.local来代替
我又土鳖了。
- 2008-11-27 09:41
- 浏览 1723
- 评论(0)
今日看了不少 http://guides.rubyonrails.org 上面的示例代码,发现自己写的ROR代码,想当然地写,一看就知道是没有经过正规化的山寨型代码,比如:
@discussion = Discussion.new(params[:discussion])
@discussion.resource = @page
@discussion.save!
官方的写法如下:
@discussion = @page.discussions.create(params[:discussion])
@page.save
我的写法也无不可,照样正常工作,不过官方的怎么看 ...
在ubuntu下由于scim输入法令我的netbean经常会无法输入,放弃之。
阿宝同学就介紹了ibus输入法给我,说说安装及使用感受。
由于ubuntu.org.cn源慢到受不了,无法直接用apt-get的方法安装,于是自己从ibus的源码处,编译并打了一个deb包安装了一下。
编译和打包参考这篇文章:http://forum.ubuntu.com.cn/viewtopic.php?f=56&t=164360&start=0&st=0&sk=t&sd=a&sid=4000902bfcb2e319ddde24076937304a
ibus的界 ...
- 2008-11-08 22:43
- 浏览 4424
- 评论(4)
NetBeans是ruby和rails最好的IDE。
但是我在ubuntu下使用netbeans的时候,它总是让我郁闷。
完全是莫名奇妙的,突然在netbeans里就不能输入了,键盘完全无响应,重启netbeans就没事了,不知道是怎么一回事。
丫的,写着写着代码,忽然这样来一下,就是让人抓狂。
简单讲,就是我要在我的model里增加一个全文检索的方法。
前世因请看我上一篇blog http://yangzhihuan.iteye.com/blog/263432
今世果接着往下看
今晚实践了一把,证实此法可行!
代码有些地方要修正,把要hack的代码放在lib/open_active_record_base.rb中:
module ActiveRecord
class Base
class << self
#全文检索方法
def full_text_search(q, options = {})
ret ...
现在做一个全文检索的功能,需要在model加上这么一段代码:
def self.full_text_search(q, options = {})
return nil if q.nil? or q==""
default_options = {:limit => 10, :page => 1}
options = default_options.merge options
# get the ...
在routes.rb中配置了这样的一个资源:
map.resources :pages do |page|
page.resources :discussions,:collection => {:prequery => :get} do |discussion|
discussion.resources :responses
end
end
按上面的配置,url:/pages/2/discussions/prequery岂无疑问应该是对应discussions这个controller中的prequery方法,但事实上,rails认为这 ...
Rails支持RESTful,这个地球人都知道.在Rails认为两类的资源足以代表一切:列表和列表中的项.Rails默认的设计就是支持这两种类型的资源.
假设已经划分了了一个资源,那么在Rails里面就对应一个controller,model,view,MVC一个都不能少.当然也可以多个controller都使用同一个model,简而言之,就是一个资源对应一个Rails的controller,4个HTTP方法就对应controller里面的index,new,create,edit,update,show,destroy这7个方法.
举个例子:就拿一个blog来说事吧.
最近的blog是一个资 ...
升级到8.10之后,什么都好,就是netbeans 下使用的monospace字体有些中文乱码了,于是换字体,但是锯齿问题让中文实在是比较难看。
几经辛苦找到了这篇文章http://www.oklinux.cn/html/Basic/jyjq/20081011/62034.html
在netbeans的 etc/netbeans.conf的启动参数加上
-J-Dawt.useSystemAAFontSettings=on
netbeans立马漂亮了。
我的netbeans启动参数如下:
netbeans_default_options="-J-client -J-Xss2m -J-X ...
- 2008-10-27 00:09
- 浏览 8426
- 评论(5)
今日打开ubuntu,因为cn99的源有问题,好几天没升级了(浑身的不舒服啊),于是换了官方的源(还是官方好啊),然后
sudo apt-get dist-upgrade
我记得这个命令只是会升级内核版本的,不知道居然会连系统都全升级了,下载了800多M,一觉醒来,没啥感觉就下载完了,官方源还是相当的快,赞一个。
重新编译和更新软件差不多一个小时,今天人品真不赖,完美升级,一点问题都没有。升级之后,之前的一个gdm的分辨率只有1024 x 768,我的本本是1280 x 800的,现在完美支持正常的分辨率,所以软件还是新版的好啊,升级要及时啊。
说说新系统,启动明显的快了,默认的桌面 ...
- 2008-10-26 23:00
- 浏览 1680
- 评论(3)
Rails项目中用上了Ferret分布,全文检索后,发现will_paginate的分页用不上了,于是google ,再配合实际情况,山寨了一个适合自己的版本。
参考了这篇文章:http://opensoul.org/2007/8/17/acts_as_ferret-will_paginate
model
#全文检索方法
def self.full_text_search(q, options = {})
return nil if q.nil? or q==""
default_options = {:limit => 10 ...
你也可以在项目运行时列出正在被使用的 gems:
# Listing all gem dependencies
rake gems
如果其中有个gem含有文件rails/init.rb 并且你想将它存放在你的项目中,可以用:
# Copy the specified gem to vendor/gems/nome_do_gem-x.x.x
rake gems:unpack GEM=gem_name
这将会拷贝这个 gem 到vendor/gems/gem_name-x.x.x。若不指定 gem 的名称, Rails 将拷贝所有 gems 包到vendor/gem 目录中.
(以上资料出自 R ...
用上了liuqiang大侠分享的Rails在线编辑器,太cools了
特撰此文,赞一下。
地址:http://www.iteye.com/topic/213151
用了一下ruby的中文分词rmmseg + ferret,发现rmmseg的中文分词并不是很好,比如:Hawkins开始了他第一部掌上电脑的设计构想。搜索“掌上电脑”并不能搜索到结果,但是如果把上面这一句改为:Hawkins开始了他第一部 掌上电脑 的设计构想。请注意“掌上电脑”两边的空格,这样的话,rmmseg就可以正确地分词了。
对英文的分词倒是很准确的(好像个个全文检索对英文分词都很强的吧)。
也不知道是不是我用得不对,贴上我使用的代码:
#全文检索
#rmmseg中文分词
analyzer = RMMSeg::Ferret::Analyzer.new { |token ...