- 博客(49)
- 收藏
- 关注
原创 Evaluation in Ruby
Ruby的evaluation是一个很重要的功能,它可以eval一个字符串或者一个block。在一些适宜的情况下使用它会得到一些“意外”的效果。 常用的eval Ruby常用的evaluation有:class_eval (module_eval),instance_eval ,eval 。 这三种evaluation方法可以在不同的情况下使用: 1. cl...
2011-12-28 15:45:38 147
原创 Ruby的include和extend
在ruby中基本上有三种引入module的方式 一、在类定义中引入module后,module中的方法成为类的实例方法。 在类定义中用include引入module。 例如: Ruby代码 module Base def test p "This is a instance method!" end end class Car include Base end Car.new.test =...
2011-12-28 15:17:09 186
原创 client_side_validations
client_side_validations是一个rails3下比较不错的前台校验插件。 它能把模型中的校验做为前台的校验,更支持自定义校验,支持像SimpleForm 和Formtastic等的Formbuilders。安装Gemfile中加入一下代码:gem 'client_side_validations', '~> 3.0.2' 然后运行bund...
2011-12-27 16:31:51 161
原创 rails之 最有用的eval族方法:class_eval
从本质上讲,class_eval(也就是module_eval)可进入类定义体中:1 c=Class.new2 c.class_eval do3 def some_method4 puts "created in class_eval"5 end6 end7 C.new.some_method => "created in class_eval"8 ...
2011-12-26 17:02:41 147
原创 alias, alias_method和alias_method_chain
本文介绍Ruby里的几个关键字。1. aliasRuby里的关键字,用于定义方法或者全局变量的别名。 例子: class Adef m1puts "m1"endalias m2 m1end=> nila = A.new=> #<A:0xb7ef5234>a.m1m1=> nila.m2...
2011-12-26 16:34:55 126
原创 利用Httponly提升web应用程序安全性
随着www服务的兴起,越来越多的应用程序转向了B/S结构,这样只需要一个浏览器就可以访问各种各样的web服务,但是这样也越来越导致了越来越多的web安全问题。www服务依赖于Http协议实现,Http是无状态的协议,所以为了在各个会话之间传递信息,就不可避免地用到Cookie或者Session等技术来标记访问者的状态,而无论是Cookie还是Session,一般都是利用Cookie...
2011-12-15 10:34:05 124
原创 Ruby学习笔记-Block, Proc and Lambda
1.Block: Ruby中的块就是由多行代码组成的一个代码块,通常可以把它认为是一个匿名方法,常用来迭代一个数组或范围(如each, times方法);语法格式如下: { //code } OR do //code end ...
2011-12-08 14:08:25 117
原创 Symbol
Symbol 在Ruby中,有一种奇怪的对象,在一个变量前加一个冒号“:”,这就是Ruby的Symbol,Symbol是Symbol类的实例,Symbol形式上和字符串很像,但是两者却有区别,首先Symbol不是String类对象,String类的很多方法不能作用到Symbol上面,然后一个显著的区别就是只要给定一个名字,就唯一确定了一个Symbol对象,而字符串即...
2011-12-08 11:25:50 124
原创 Ubuntu上Apache+Passenger部署实践
http://hi.baidu.com/hackerbase/blog/item/86503bf35e983b5d352acc19.html转自 : 现在Rails官方推荐的最佳部署方式是Apache+Passenger的模式。此模式拥有及其强大的功能,能够自动增减集群进程的数量,对后续部署又很简单。难怪DHH在博客中对Passenger赞誉有加。 近期我在Ubuntu上部署了几...
2011-12-07 11:39:41 188
原创 rvm 使用 -- ruby 1.9.2 rails 3.1.2
RVM可以管理不同的ruby,也可以管理同一个ruby下的不同gem集合,以下是常用的命令: 1. 安装见官方 http://beginrescueend.com/ 2. 查看可以安装的ruby: rvm list known3. 查看已经安装的ruby: rvm list4. 使用某个ruby: rvm use x.x.x(x.x.x 是 rvm list 里的版本...
2011-11-21 16:35:00 110
原创 hash 和 array 的一个用法
a=[[1,2],[3,4]] Hash[*a.flatten] => {1=>2, 3=>4}
2011-11-01 14:21:58 195
原创 按位与、按位或组合
下午 看了下 按位与、按位或组合 权限串应用 首先每一个权限数都是2的N次方数如: k1=2 ; //添加 00000010 k2=4 ; //删除 00000100 k3=8; //修改 00001000user .insignia => k1增加 k2权限 需要对各个所拥有的权...
2011-10-20 18:52:14 375
原创 gem 降级
gem uninstall rubygems-updategem install rubygems-update -v 1.7.2update_rubygems#如果使用了rvm,则:$ rvm rubygems remove$ rvm rubygems 1.3.7
2011-10-09 17:21:13 306
原创 render vs redirect
render和redirect的区别在于: render 没有执行相对应的controller方法!而redirect_to 则重新执行controller方法,也就是说redirect_to 让浏览器去创建一个新的请求。 render 其参数是有效的(有重复提交问题),而redirect_to 其参数是重新请求的。...
2011-08-15 15:53:11 110
原创 vim
i insert模式v visual模式ctrl+v visual+block模式 r 替换d 删除 x 剪切u 撤销 查找替换 :%s/a/b/gc 全文替换:'<,'>s/a/b/gc 段落替换 vim ...
2011-08-04 17:47:22 96
原创 mysql or 索引
mysql 中 select * from u where user_name =1 or user_email =2 用or链接 如果user_name 和 user_email 建立索引 mysql是会 忽略掉两者的索引 此时 可以用 union操作来 链接 条件 select * from u where user_nam...
2011-08-03 19:10:15 115
原创 ruby 正则匹配非站内链接
def has_href_not_XXX?(content) content = content.dup loop do content.sub!(/href=(['"])([^'"]+)\1/, "") if $2.blank? return false else if (!$2[".XXX.c...
2011-08-01 16:48:57 114
原创 form_for && form_tag
<% form_for @XX, :url => '', :html => {:id => ''} do |f| %>生成的form 以什么方式提交 取决于@XX是 什么状态的对象 如果是new 则以post方式提交 如果是已存在的实例对象 则以put 方式提交 所以路由配置 method不要配死 而form_tag ...
2011-07-27 13:47:39 97
原创 not in & not exists
请注意not in 逻辑上不完全等同于not exists,如果你误用了not in,小心你的程序存在致命的BUG: 请看下面的例子:create table t1 (c1 number,c2 number);create table t2 (c1 number,c2 number);insert into t1 values (1,2);insert into t1 valu...
2011-06-10 15:23:21 90
原创 转载一篇比较详细介绍rails routes的文章
REST, Resources, and Rails Before REST came I (and pretty much everyone else) never really knew where toput stuff.—Jonas Nicklas on the Ruby on Rails mailing list Routing and CRUD当你在rout...
2011-05-23 13:55:42 125
原创 ruby 中的 方法调用作用域
因此private和protected的在ruby当前和Java的定义有很大的区别:1、在不同对象实例当中的作用域不同Java当中,不管private还是protected的方法,都可以被同一个类别的其他对象实例调用;Ruby当中,private方法不能被同一个类别的其他对象实例调用;2、在类继承关系当中的作用域不同ruby当中,不管private还是pro...
2011-04-27 16:09:22 127
原创 rails 学习小结
具名域 和 匿名域 ,rails无法处理多个order子句和limit子句 ,因此请保证调用链中只使用一次order或limit 当保存更新一个对象时, 如果使用find_by_sql 查询出一个对象,必须取出包含id的字段. 在验证时有些方法可以跳过回调,请小心使用这些方法。* decrement* decrement...
2011-04-25 17:25:25 131
原创 find ---:readonly
如果:readonly 被设为 true 则不能将 find 方法返回的 ActiveRecord 对象再次存入数据库。如果使用了:joins 或者:select 选项,那么得到的对象会被自动标记为:readonly。...
2011-04-25 17:02:56 123
原创 主键与ID
默认的主键为ID,我们可以如下来修改主键, class LegacyBook < ActiveRecord::Base self.primary_key = "isbn" end ActiveRecord会负责为你创建的每条记录新建主键值,他们是递增的整数,但不保证连续,然而,如果我们指定了主键字段,就必须同时负责将每条新记录的主键设为...
2011-04-25 16:43:15 899
原创 rails Boolean型属性
ruby中 对真值的定义 非常简单 除了nil和false之外 所有的值被解释为true 如果要查询一个boolean型字段的状态,就必须在字段名的后面加上? user=User.find_by_name("tom")if user.superuser? .........end 用这种方式访问对象的属性,ActiveRecor...
2011-04-25 16:28:17 277
原创 linux下svn命令大全
1、将文件checkout到本地目录svn checkout path(path是服务器上的目录)例如:svn checkout svn://192.168.1.1/pro/domain简写:svn co2、往版本库中添加新的文件 svn add file例如:...
2011-04-19 19:18:13 72
原创 ruby & rails 安装
ry1.8.7安装:在终端执行:sudo apt-get install ruby rdoc riruby -v 查看ruby的版本u然后安装Ry语言软件包管理系统(Package Management System)RyGemssudo apt-get install rubygemsgem inst...
2011-04-09 00:11:00 75
原创 (转)让查询结果按照指定顺序排序
Mysql这功能做的很好用啊!! 让查询结果按照指定顺序排序----------------------------------------------------------------------表结构如下:mysql&gt; select * from test;+----+-------+| id | name |+----+-------+...
2011-04-08 17:09:24 138
原创 .nil? , .empty?, .blank? .present? 的区别
首先这三个都是判空的。 而 .nil? 和 .empty? 是ruby的方法。 .blank? 是rails的方法.nil? 判断对象是否存在(nil)。不存在的对象都是nil的.empty? 对象已经存在,判断是否为空字段,比如一个字符串是否为空串,或者一个数组中是否有值。有点像判断长度是否为零,呵呵.blank? 相当于同时满足 .nil? 和 .empty? 。...
2011-04-08 17:02:18 403
原创 运用ActiveRecord
01.创建新实例#01.1a=Article.newa.new_record? # =>true#01.2代码块a=Artile.new do |art|art.title = "世界杯"art.state_id = 3end#01.3创建并保存(会保存数据库中)a=Artilre.create(:title=>"世界杯报道团",:state_i...
2011-04-08 16:46:06 119
原创 刚学的一个activeRecord语句
学习rails两个礼拜了,加油加油Person.find(:all, :conditions => [ "category IN (?) and score >?", categories ,score], :limit => 50)
2011-04-08 16:39:16 72
原创 将find出来的对象数组 组装成 字符串数组
user=User.find(:all,:select=>"user_name",:conditions=>["user_name like ?","ma"+"%"]) (1)user.map(&user_name) 好像是rails扩展的 user.map do |e| e.user_name end 等同于上一种写法 (2)XXX=[ ...
2011-04-08 16:29:52 143
原创 推荐一种快速提高英语口语的方法
转自:http://english.group.iteye.com/group/topic/25261 现在越来越多的外国企业在中国开设分公司,很多人有很强的技术和能力,但是英语不行进不了外企。这是因为中国糟糕的英语教育导致的,我们大家都是学英语学了几十年到头来都是英语聋哑人。本方法是笔者多年国内外学习英语的经历并结合语言专家们的教学经验总结出来的,只是提高口语和听力,适合那些有...
2011-04-06 18:15:42 143
原创 Rails Form helpers
文章转自:http://yuan.iteye.com/blog/478988最基本的form helper是form_tag:Ruby代码 收藏代码 1. <% form_tag do %> 2. Form contents 3. <% end %> <% form_tag do %> Form co...
2011-03-31 21:23:51 94
原创 Ruby的类
类的基本定义class Myclass #注意类名必须是常量~,也就是字首大写或全部大写#可有可无的初始化定义 [ def initalize arg1.... end] def name #成员变量name的getter @name #getter #中最好不要有其他语句 end def name= value #name的se...
2011-03-31 11:40:00 107
原创 private和protected在ruby和Java里的区别:
1、在不同对象实例当中的作用域不同Java当中,不管private还是protected的方法,都可以被同一个类别的其他对象实例调用;Ruby当中,private方法不能被同一个类别的其他对象实例调用。2、在类继承关系当中的作用域不同ruby当中,不管private还是protected方法,都可以被子类继承;Java当中,private方法不能被子类继承。...
2011-03-31 10:15:49 83
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人