`
hanqingwxf2008
  • 浏览: 51644 次
  • 性别: Icon_minigender_1
  • 来自: 青岛
社区版块
存档分类
最新评论
文章列表
首先这三个都是判空的。 而 .nil? 和 .empty? 是ruby的方法。 .blank? 是rails的方法 .nil?       判断对象是否存在(nil)。不存在的对象都是nil的 .empty?  对象已经存在,判断是否为空字段,比如一个字符串是否为空串,或者一个数组中是否有值。有点像判断长度是否为零,呵呵 .blank?   相当于同时满足 .nil? 和 .empty? 。railsAPI中的解释是如果对象是:false, empty, 空白字符. 比如说: "", " ", nil , [], 和{}都算是blank。   (o ...

Evaluation in Ruby

    博客分类:
  • ruby
Ruby的evaluation是一个很重要的功能,它可以eval一个字符串或者一个block。在一些适宜的情况下使用它会得到一些“意外”的效果。   常用的eval   Ruby常用的evaluation有:class_eval (module_eval),instance_eval ,eval 。   这三种evaluation方法可以在不同的情况下使用:   1. class_eval   class_eval和module_eval是相同的,class_eval是module_eval的一个alias。   class_eval可以在一个mod的上下文中ev ...

Ruby的include和extend

    博客分类:
  • ruby
在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 => "This is a instance method!" module Basedef testp "This is a instance m ...
  client_side_validations是一个rails3下比较不错的前台校验插件。 它能把模型中的校验做为前台的校验,更支持自定义校验,支持像SimpleForm 和Formtastic等的Formbuilders。 安装
从本质上讲,class_eval(也就是module_eval)可进入类定义体中: 1 c=Class.new2 c.class_eval do
本文介绍Ruby里的几个关键字。 1. alias Ruby里的关键字,用于定义方法或者全局变量的别名。 例子:     class A def m1 puts "m1" end alias m2 m1 end => nil a = A.new => #<A:0xb7ef5234> a.m1 m1 => nil a.m2 m1 => nil 在使用的时候,注意原有的方法名在最后位置,用空格分开。
 随着www服务的兴起,越来越多的应用程序转向了B/S结构,这样只需要一个浏览器就可以访问各种各样的web服务,但是这样也越来越导致了越来 越多的web安全问题。www服务依赖于Http协议实现,Http是无状态的协议,所以为了在各个会话之间传递信息,就不可避免地用到Cookie或者 Session等技术来标记访问者的状态,而无论是Cookie还是Session,一般都是利用Cookie来实现的(Session其实是在浏览器的 Cookie里带了一个Token来标记,服务器取得了这个Token并且检查合法性之后就把服务器上存储的对应的状态和浏览器绑定),这样就不可避免地 安全聚焦到 ...
1.Block:   Ruby中的块就是由多行代码组成的一个代码块,通常可以把它认为是一个匿名方法,常用来迭代一个数组或范围(如each, times方法);语法格式如下:   {                       //code   }             OR   do                     //code   end            块变量:当创建一个块时,在两个竖线之间(如: | i |)被称作块变量,作用和一个正常方法的参数一样;如:5.each{| x |  puts x }    2.Block and Array B ...

Symbol

    博客分类:
  • ruby
Symbol         在Ruby中,有一种奇怪的对象,在一个变量前加一个冒号“:”,这就是Ruby的Symbol,Symbol是Symbol类的 实例,Symbol形式上和字符串很像,但是两者却有区别,首先Symbol不是String类对象,String类的很多方法不能作用到Symbol上 面,然后一个显著的区别就是只要给定一个名字,就唯一确定了一个Symbol对象,而字符串即使是相同,也是不同的对象,怎么理解这句话,看下边的示例:                  稍作解释:前三个:test或者:”test”是Symbol对象,其object_id都是86600,说明 ...
http://hi.baidu.com/hackerbase/blog/item/86503bf35e983b5d352acc19.html 转自  :  现在Rails官方推荐的最佳部署方式是Apache+Passenger的模式。此模式拥有及其强大的功能,能够自动增减集群进程的数量,对后续部署又很简单。难怪DHH在博客中对Passenger赞誉有加。   近期我在Ubuntu上部署了几个Rails网站,都是采用Apache+Passenger的模式。故此写下我的安装配置经验,与大家分享。   安装完Ubuntu 8服务版后,操作系统非常小,很简洁,没有一点多余的软件。这样似乎是U ...
  RVM可以管理不同的ruby,也可以管理同一个ruby下的不同gem集合,以下是常用的命令:   1. 安装见官方 http://beginrescueend.com/  2. 查看可以安装的ruby: rvm list known 3. 查看已经安装的ruby: rvm list 4. 使用某个ruby: rvm use x.x.x(x.x.x 是 rvm list 里的版本,可以不用全称;加上  --default 设置为默认的ruby) 5. 使用系统的ruby: ruby use    ruby-1.9.2-p290 (可以加上 --default选项) 6. 创 ...
 a=[[1,2],[3,4]]   Hash[*a.flatten]  =>  {1=>2, 3=>4}
下午  看了下 按位与、按位或组合 权限串应用       首先每一个权限数都是2的N次方数 如:   k1=2 ; //添加    00000010           k2=4 ; //删除     00000100           k3=8; //修改      00001000 user .insignia  => k1 增加 k2权限   需要对各个所拥有的权限数按位或了。  user .insignia  | k2  =>    00000010 |  00000100   =>00000110   判断是否有k2权限   user . ...

gem 降级

gem uninstall rubygems-update gem install rubygems-update -v 1.7.2 update_rubygems #如果使用了rvm,则: $ rvm rubygems remove $ rvm rubygems 1.3.7  

url编码问题

http://www.ruanyifeng.com/blog/2010/02/url_encoding.html
Global site tag (gtag.js) - Google Analytics