ruby
hqwxf
这个作者很懒,什么都没留下…
展开
-
render vs redirect
render和redirect的区别在于: render 没有执行相对应的controller方法!而redirect_to 则重新执行controller方法,也就是说redirect_to 让浏览器去创建一个新的请求。 render 其参数是有效的(有重复提交问题),而redirect_to 其参数是重新请求的。...原创 2011-08-15 15:53:11 · 106 阅读 · 0 评论 -
Symbol
Symbol 在Ruby中,有一种奇怪的对象,在一个变量前加一个冒号“:”,这就是Ruby的Symbol,Symbol是Symbol类的实例,Symbol形式上和字符串很像,但是两者却有区别,首先Symbol不是String类对象,String类的很多方法不能作用到Symbol上面,然后一个显著的区别就是只要给定一个名字,就唯一确定了一个Symbol对象,而字符串即...原创 2011-12-08 11:25:50 · 119 阅读 · 0 评论 -
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 · 108 阅读 · 0 评论 -
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 · 144 阅读 · 0 评论 -
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 · 183 阅读 · 0 评论 -
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 · 141 阅读 · 0 评论 -
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 · 122 阅读 · 0 评论 -
.nil? , .empty?, .blank? .present? 的区别
首先这三个都是判空的。 而 .nil? 和 .empty? 是ruby的方法。 .blank? 是rails的方法.nil? 判断对象是否存在(nil)。不存在的对象都是nil的.empty? 对象已经存在,判断是否为空字段,比如一个字符串是否为空串,或者一个数组中是否有值。有点像判断长度是否为零,呵呵.blank? 相当于同时满足 .nil? 和 .empty? 。...原创 2011-04-08 17:02:18 · 400 阅读 · 0 评论 -
hash 和 array 的一个用法
a=[[1,2],[3,4]] Hash[*a.flatten] => {1=>2, 3=>4}原创 2011-11-01 14:21:58 · 192 阅读 · 0 评论 -
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 · 105 阅读 · 0 评论 -
private和protected在ruby和Java里的区别:
1、在不同对象实例当中的作用域不同Java当中,不管private还是protected的方法,都可以被同一个类别的其他对象实例调用;Ruby当中,private方法不能被同一个类别的其他对象实例调用。2、在类继承关系当中的作用域不同ruby当中,不管private还是protected方法,都可以被子类继承;Java当中,private方法不能被子类继承。...原创 2011-03-31 10:15:49 · 80 阅读 · 0 评论 -
java转ruby
换了新工作,开始学习ruby,干了一段时间的java,有必要停下脚步看看周围的风景.原创 2011-03-31 10:14:27 · 192 阅读 · 0 评论 -
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 · 111 阅读 · 0 评论 -
按位与、按位或组合
下午 看了下 按位与、按位或组合 权限串应用 首先每一个权限数都是2的N次方数如: k1=2 ; //添加 00000010 k2=4 ; //删除 00000100 k3=8; //修改 00001000user .insignia => k1增加 k2权限 需要对各个所拥有的权...原创 2011-10-20 18:52:14 · 371 阅读 · 0 评论 -
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 · 95 阅读 · 0 评论 -
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 · 303 阅读 · 0 评论 -
好吧,就这么写了
以后写代码 就按这个思路来 先写 伪代码 再写 测试 最后写逻辑原创 2011-07-16 17:02:13 · 129 阅读 · 0 评论 -
Ruby学习笔记-Block, Proc and Lambda
1.Block: Ruby中的块就是由多行代码组成的一个代码块,通常可以把它认为是一个匿名方法,常用来迭代一个数组或范围(如each, times方法);语法格式如下: { //code } OR do //code end ...原创 2011-12-08 14:08:25 · 113 阅读 · 0 评论