ruby
文章平均质量分 59
kiwi小白
这个作者很懒,什么都没留下…
展开
-
浅说ruby嵌套函数
想到这个问题是因为看了网上的一个问题,大家可以先看看:http://pivotallabs.com/users/nick/blog/articles/302-ruby-quiz-a-trick-question 我先从第二个问题开始讲起: 下面的演示可以在irb中,也可以自己写一个main.rb之类的文件运行尝试(我的ruby是1.9.3) 首先,开始看一个最简单的函数,原创 2012-10-28 22:52:52 · 2748 阅读 · 0 评论 -
Rails中如何避免N+1问题
N+1问题N+1问题是数据库访问中最常见的一个性能问题,首先介绍一下什么是N+1问题:举个例子,我们数据库中有两张表,一个是Customers,一个是Orders。Orders中含有一个外键customer_id,指向了Customers的主键id。想要得到所有Customer以及其分别对应的Order,一种写法是SELECT * FROM Customers;原创 2014-07-03 19:15:47 · 4155 阅读 · 0 评论 -
刻意练习--Rails RESTful(一)
一本被人反复提及的书《哪儿来的天才》中说过,大部分所谓的天才都是通过反复的刻意练习得到的。当你的练习时间达到10000小时以后,你就会成为该领域的专家。最近在学习rails如何实现RESTful Web Service。自己想给自己设计一个练习的模板,进行反复练习。开发过程采用的是TDD的方式进行开发。练习背景:我们涉及三个Domain对象,Products、Order原创 2014-07-01 11:45:15 · 3735 阅读 · 0 评论 -
Rails + rabl
当我们使用rails generate scaffold的方式生成MVC的时候,rails会自动给我们生成一系列的文件,包括了如何用json显示model的view。这样其实默认了你的系统是一个CRUD的系统,但是我们知道RESTful不是CRUD。把model直接暴露出去不是一个很好的选择。rabl是一个DSL可以方便定制生成对象的显示信息的gem:https://github.co原创 2014-06-27 15:07:42 · 11210 阅读 · 0 评论 -
那些rails的第一道坎
pActionController::InvalidAuthenticityToken in Admin::ProductsController#createskip_before_action :verify_authenticity_token原创 2014-06-25 08:56:56 · 1781 阅读 · 0 评论 -
ruby计算平方和开方
计算平方和开方:计算3的平方:3 ** 2 #=> 9计算9的开方:9 ** (1.0/2) #=> 3计算n次幂与n次底计算3的3次幂:3 ** 3 #=> 27计算27的3次底:27 ** (1.0/3) #=> 3原创 2013-01-05 15:15:16 · 7862 阅读 · 0 评论 -
ruby中Hash的默认值小陷阱
ruby中Hash可以提供一个默认值,我们可以使用new(object)和default=的这两种方式来设置ruby的默认值。但是有另外一种情况没有提到过,但是也能够修改默认值的方式。代码如下:class Kiwi def initialize(val) @val = val end def increase @val += 1 endendhash = Ha原创 2012-11-23 01:16:11 · 1591 阅读 · 0 评论 -
ruby中Hash的自定义key
Hash主要使用Key中的两个函数:hash和eql? hash返回的是对象的hash值,eql?是用来对比两个对象是不是相等。回顾下Hash这种数据结构,其首先需要一个hash函数返回一个整数,ruby中为Fixnum,然后根据Fixnum去使用eql?判断两个object是不是相同。所以,如果只是改变了hash函数,就仅仅会让具有相同实例的objecthash到同一个Fixnum,但是原创 2012-11-22 19:35:50 · 3207 阅读 · 0 评论 -
查找ruby方法(以rails为例)
我们知道ruby使用动态方法,还有一些mixin等功能,所以查找ruby的方法变得比一般的语言更困难,高富帅可以用textmate,屌丝没得。主要的想法是使用grep。grep [options] [patten] [files]在使用linux命令查找ruby方法时,更多的时候需要使用-rn的参数就足够,r表示recursive, n表式行号可以先clone一原创 2012-11-17 01:47:19 · 1071 阅读 · 0 评论 -
ruby单词单数复数相互转换
require 'active_support/inflector'puts "user".pluralize #=> usersputs "repositories".singularize #=> repository原创 2012-10-31 20:24:36 · 3644 阅读 · 0 评论 -
一个有意思的Ruby Webdriver超时问题的解决过程
因为写ruby的时候感觉混身上下都拽起来了,所以比较喜欢用ruby写代码。今天遇到了一个webdriver timeout的问题,问题本身还是因为我对webdriver不了解以及破文档导致的。首先我们把问题简化一下:driver = Selenium::WebDriver.for :safaridriver.navigate.to "http://www.faraway.com"wait = Selenium::WebDriver::Wait.new(:timeout => 1000) # seco原创 2014-07-04 18:33:12 · 3856 阅读 · 0 评论