Ruby/Rails
aabbcc456aa
这个作者很懒,什么都没留下…
展开
-
GitLab Installation on Ubuntu Server 12.04
For the people not knowing what GIT is or what it’s used for here’s a link to read about it What is GIT. This post wouldn’t have been possible if it was not for the work done by the community at Git转载 2012-09-24 13:38:48 · 1577 阅读 · 0 评论 -
使用Net::SSH和Net::SCP编写Linux服务器管理脚本
有没有这样一个需求:同时向几十上百台Linux服务器上传文件并执行命令,如果一个个来,那你就真是挨踢民工。程序员要发挥自己懒惰的个性,借用Net::SSH和net::SCP用Ruby写个脚本你会发现非常简单。Net::SSH和Net::SCP是两个Ruby操作SSH的gem包。Net::SSH相当于cmd,专门用于执行命令;Net::SCP专门用于传输文件。它们俩结合,可以做任何SSH转载 2013-01-25 13:48:17 · 580 阅读 · 0 评论 -
Rspec 中的 Should_receive
第一次在 Rspec 中使用 method mock 测试, 所以就碰到了坑. 前段时候学习了 Testing with Rspec 对 Rspec 入门. 现在真正使用起来, 还是会碰到很多小细节的问题, 例如今天碰到的这个: should_receive 所检查的对象.两个概念在课程的 mocking and stubbing 章节中有说明:Stub: For replac转载 2013-03-21 10:26:56 · 970 阅读 · 0 评论 -
rails has_many on polymorphic
9.7.1. In the Case of Models with CommentsIn our recurring Time and Expenses example, let’s assume that we want both BillableWeek and Timesheet to have many comments (a shared Comment class). A转载 2013-04-15 18:45:12 · 947 阅读 · 0 评论 -
ajax set session can not save
ajax 发起请求,在后台设置session,但是在其他环境中取不到该设置。此时需要修改ajax : 在成功请求后,需要更新应用cachel例如:$.ajax({url: "/contoller/update_logged_user", data: {id: user_id}, success:function(){ window.applicationCache原创 2013-04-25 16:08:39 · 549 阅读 · 0 评论 -
递归心得
递归一定得注意 递归条件和 返回值,有的时候一个递归函数会有多中返回(其中就有很多返回给自己,但是总有一次是返回给主调用函数)下面这两种结果不同,第一种 以循环后面的return 返回给主函数,而第二种就是条件后面的return def self.find_all_children(device_group, terminal_ids = []) terminal_i原创 2013-04-26 18:02:42 · 496 阅读 · 0 评论 -
rails Controller Namespaces and Routing
You may wish to organize groups of controllers under a namespace. Most commonly, you might group a number of administrative controllers under an Admin:: namespace. You would place these controllers转载 2013-05-22 12:56:40 · 830 阅读 · 0 评论 -
has_many polymorphic
To create a polymorphic has_many :through, you must first create your models. We will use'Article,' 'Category,' and 'Tag' where 'Tag' is the join-model and Article is one of many objects which can be转载 2013-07-10 17:19:50 · 504 阅读 · 0 评论 -
在你的 Rails App 中开启 ETag 加速页面载入同时节省资源
什么是 ETag网上关于 ETag 的解释有很多,我这里简单的说明一下我的理解:ETag 是 HTTP 协议的标准参数,一般是这样的:”686897696a7c876b7e” 一段字符,它能通过一段字符来判断浏览器 cache 的内容是否和服务端返回的内容是否相同,从而来决定是否要重新从服务器下载东西 (HTTP 状态 200 - 重新下载 / 304 - 没有更新)。转载 2013-07-01 17:43:06 · 743 阅读 · 0 评论 -
Ruby的4种闭包:blocks, Procs, lambdas 和 Methods。
blocks, Procs, Methods, lambdas(也称闭包)是Ruby中最强大的一部分,用过你就会知道,同时也是最容易迷惑的。这可能是因为Ruby处理闭包的方式有点怪。更甚的是,Ruby有4种处理闭包的方式, 第一次用,每种都不太顺手。首先:blocks代码块最常见、最简单、最富争议、最有Ruby风格的方式是blocks。写法如下:array = [1, 2, 3,转载 2013-01-09 18:47:03 · 465 阅读 · 0 评论 -
Travis CI 持续集成
在开源社区的持续集成领域,当Jenkins/Hudson一统天下的时候,天边突然有个家伙踩着云朵飞了过来,风格非常小清新,而且表现得和最近大红大紫的Github非常亲昵。Ruby on Rails、Ruby和Node.js等项目已经被他吸引,或者说大部分有身份的Ruby开源项目都成了他的粉丝,事实上投靠他的项目已经超过7,500个,他每天执行超过4,000次的构建,他支持Ruby、Java、Pyt转载 2013-01-06 10:32:56 · 1870 阅读 · 0 评论 -
imagemagick tesseract-ocr破解简单验证码
Tesseract-ocr据说辨识程度是世界排名第三,可谓神器啊。准备工作:1.安装tesseract-ocrJava代码 sudo apt-get install tesseract 2.安装imagemagickJava代码 sudo apt-get install imagemagick转载 2012-10-19 17:04:39 · 1183 阅读 · 0 评论 -
require load require_relation 区别
我们知道在Ruby中要引用外部库,有两种方法:require和load。他们的作用都是从外部引用一个库到本文件中,区别是require是仅引用一次,多次require不会重复加载文件,且require不需要后缀,如:要引用a.rb文件,则:rquire 'a'而load会重复加载,load一次加载一次文件,且load要写全文件名称:load 'a.rb'详细的关原创 2012-11-08 16:50:27 · 648 阅读 · 0 评论 -
Ruby Fiber的教程
这是一个Ruby Fiber的教程,基本是按照《Programming in lua》中讲述协程章节的顺序来介绍Ruby Fiber的,初步分为5节:基础、参数传递、过滤器、迭代器、应用。这是第一节,介绍下Ruby Fiber的基础知识。 Ruby 1.9引入了Fiber,通常称为纤程,事实上跟传统的coroutine——协程是一个概念,一种非抢占式的多线程模型。所谓非抢占式就是当一转载 2012-11-08 17:17:58 · 518 阅读 · 0 评论 -
Ruby中访问控制符public,private,protected区别总结
重点关注private与protectedpublic默认即为public,全局都可以访问,这个不解释privateC++, “private” 意为 “private to this class”, 但是Ruby中意为 “private to this instance”.意思是:C++中,对于类A,只要能访问类A,就能访问A的对象的private转载 2012-11-09 11:18:56 · 609 阅读 · 0 评论 -
RVM中文使用指南
RVM中文使用指南http://rvm.beginrescueend.com/RVM简介Ruby Version Manager,Ruby版本管理器,包括Ruby的版本管理和Gem库管理(gemset)。目前支持Ruby的大多数版本,有1.8.7,1.9.1,1.9.2和Ruby Enterprise Editon,通过RVM可以很方便的在多个Ruby版本中快速切换。RVM同时也支转载 2012-08-30 15:59:09 · 571 阅读 · 0 评论 -
NET::SMTP mailfactory 附件邮件
NET::SMTP 发送邮件很简单,但是它不支持直接发送附件。可以通过安装MailFactory来实现该功能 1)安装MailFactory 执行:gem install mailfactory 2)支持中文 默认安装好后的MailFactory对中文支持不好,我们可以通过修改其源代码的方式来解决该问题,打开下载下来的MailF转载 2012-12-27 21:38:51 · 688 阅读 · 0 评论 -
rails 8小时 时间差
主要因为存储默认 UTC 时间格式,会相差8个小时在 config/application.rb 中加入如下两个配置即可解决config.time_zone = 'Beijing' config.active_record.default_timezone = :Beijing转载 2012-12-17 09:51:39 · 1158 阅读 · 0 评论 -
Backup 和 Whenever 进行备份
备份脚本首先登录服务器,安装 Backup。gem install bakcup然后初始化备份脚本。backup generate:model --trigger codecampo --databases="mongodb" --storages="dropbox"这时 Backup 会帮初始化备份脚本的目录,和我的第一个备份方案「codecampo」,目转载 2013-01-06 10:41:08 · 459 阅读 · 0 评论 -
rails ActiveRecord::RecordNotSaved
刚开始以为 校验错误,一直检查model valid method. 最后才发现赋值不对造成的. 我用的是postgrel 数据库,有个字段 actived 是布尔类型,然而我 在before_save 时 赋值: self.actived = false 随后改成 self.actived = 0 就可以了如果不再before_sav原创 2013-09-10 17:49:00 · 771 阅读 · 0 评论 -
rack cookie session
Rack::Session::Cookie provides simple cookie based session management. The session is a Ruby Hash stored as base64 encoded marshalled data set to :key (default: rack.session). When the secret key is转载 2013-10-02 21:54:56 · 999 阅读 · 0 评论 -
在 Rails 中使用 Solr 做全文搜尋
做網站常免不了使用全文搜尋的功能,很多時候我們會選擇方便快速的 Google Custom Search ,但搜尋的結果差強人意,因此我們會更希望能擁有自己的搜尋引擎。Solr & SunspotSolr 是一套建立在 Lucene 搜尋引擎的工具,不用煩惱如何去操作複雜的 Lucene ,只需要透過 HTTP Request 來跟 Solr 溝通就好,非常的簡單易用,在转载 2013-10-09 10:18:57 · 714 阅读 · 0 评论 -
rails render partial 参数 变量说明
这里的conventions总是容易记不清楚 就是locals collection object 1. 默认参数 Ruby代码 :partial => "account" %> 默认本地有个变量@account, 传递过去,render到的partial(_account.erb)有个变量account 2. 单独参数转载 2014-10-31 10:46:04 · 1465 阅读 · 0 评论 -
Objects and Classes in Ruby
一、Ruby中关于类和对象的概念1、对象:对象是一组实例变量外加一个指向其类的引用。对象的方法并不存在于对象本身,而是存在于对象的类中。所以这些方法被我们称作类的实例方法。图:对象与类的关系,以及实例方法的归属2、类:类其实是Class类的一个对象,外加一组实例方法和一个对其超类的引用。Class类是Module类增加了new()方法的子类,所以一个转载 2014-10-30 21:19:29 · 393 阅读 · 0 评论 -
RSpec::Mocks
Test Doubles, Method Stubs, Message Expectations123thingamajig_double = double('thing-a-ma-jig')stub_thingamajig = stub('thing-a-ma-jig')mock_thingamajig = mock('thing-a-ma-ji转载 2014-11-04 17:20:58 · 897 阅读 · 0 评论 -
rake 传递参数
傳統作法是用 rake blah foo=1 這樣的指令,於是就可以透過環境變數拿到: task :blah do puts ENV['foo'] end但是,最近看到新的 API 使用中括號的用法 (也不新了,從 0.8.2 開始支援),覺得挺有趣的: desc "passing 1 parameter to rake task" tas转载 2014-10-20 14:42:42 · 998 阅读 · 0 评论 -
Concurrency and Database Connections in Ruby with ActiveRecord
Table of ContentsConnection poolThreaded serversMulti-process serversMaximum database connectionsCalculating required connectionsNumber of active connectionsBad conne转载 2015-04-24 14:19:37 · 591 阅读 · 0 评论 -
rails yaml with expression or variable (Using ERB in YAML Configuration File)
A while back in Railscast #85 Ryan Bates demonstrated how to add a YAML-based configuration file to a Rails application. You start with the configuration file — say RAILS_ROOT/config/app_config.yml转载 2015-08-22 21:03:59 · 425 阅读 · 0 评论 -
rubymine debug 80
1. 远程监听RubyMine provides the possibility of remote debugging for Ruby and Rails applications, using the dedicated Ruby remote debug configuration. So doing, RubyMine keeps mapping between the lo转载 2015-11-13 14:38:20 · 687 阅读 · 0 评论 -
如何使用 Grape-Swagger 生成 API 文档
在Rails 项目中使用 Grape 来开发 API, 想尝试一下通过 swagger 来自动生成 API 文档,至于为什么要选 swagger 也没有特别的理由, 在 Ruby China 看过几篇分享。然后开始 Google 官方文档和一些列子,中间也碰到一些坑,此文主要是总结下配置 swagger 的过程。安装相关的 Gem在 Gemfile 中添加 grape-swagger转载 2016-11-10 15:00:45 · 1167 阅读 · 0 评论 -
alias alias_method 区别
对于alias, alias_method, alias_method_chain的深入理解是有益的,因为rails3的源码里很多地方使用了alias_method_chain的魔法。 有人评论说alias_method_chain使用的过多不好,具体怎么不好,是后话了,这篇文章集中在理解这3个方法上面。如果想转载本文,请注明出处,谢谢!请尊重别人的劳动成果,为构建丰富web原创内容做转载 2014-10-26 10:28:00 · 476 阅读 · 0 评论 -
ruby和rails中的回调函数 included
Ruby中Class,Object,Module这三个类定义了一些回调方法,这些方法不是默认的不过为一个类模块获对象定义了这些方法,当特定的事件发生时,将调用这些回调和钩子方法。这些回调方法一般以"ed"结尾。特定事件是指:调用一个不存的对象方法(method_missing)模块被混含(included/extended)类被继承(inherited)类或模块定义实例方法(m转载 2014-09-10 15:27:36 · 1137 阅读 · 0 评论 -
rails smtp config
config.action_mailer.delivery_method = :smtp config.action_mailer.perform_deliveries = true config.action_mailer.smtp_settings = { address: 'smtp.126.com', port:原创 2013-10-29 13:07:33 · 648 阅读 · 0 评论 -
rails image 处理图片
放在app/assets/images下的圖片該怎麼使用呢?在實際佈署後,Rails會將檔案名稱加以編碼,例如rails.png會變成rails-bd9ad5a560b5a3a7be0808c5cd76a798.png。這麼做的原因是當圖片有變更的時候,編碼就會不同而有不同的檔名,這樣就可以避免瀏覽器快取到舊的檔案。也因為檔案名稱會變動,所以放在app/assets/images下的圖片,要用的時转载 2013-10-31 16:39:05 · 817 阅读 · 0 评论 -
rails render alert i18n
render :js => "alert('" + "#{t('unauthorized.nomal')}" + "')"试过了很多方法,最后只能用拼装解决原创 2013-11-01 16:05:39 · 637 阅读 · 0 评论 -
Ruby symbol String
Ruby的符号足以让很多初学者迷惑上一段时间,看过本章节后,或许会解开你心中的疑惑。在Ruby中,一个符号是就是一个Symbol类的实例,它的语法是在通常的变量名前加一个冒号,如 :my_syRuby的符号像一个字符串,因为它内部表现形式是一个字符序列。而与字符串不同的是,每个符号的实例只有一个。看下面的例子:array = ["foo", "foo", "foo", :f转载 2014-01-21 09:45:09 · 1239 阅读 · 1 评论 -
tesseract-ocr破解 验证码
Tesseract-ocr据说辨识程度是世界排名第三,可谓神器啊。安装时候注意版本问题:Atention: Version 1.0.0 works fine with Ruby 2.0 and tesseract 3.0 and lower versions of rtesseract works fine with Ruby 1.8 and tesseract 2.0.4.准转载 2014-02-19 18:35:55 · 1114 阅读 · 0 评论 -
mechanize 12306
firefox install plug-in Export Cookies 详情: https://addons.mozilla.org/en-US/firefox/addon/export-cookies/firefox 清除所有的 cookiesfirefox 登录 12306firefox export cookies (save path:/home/xxx/cook转载 2014-02-19 14:54:23 · 884 阅读 · 0 评论 -
rails disable not need connect database,disable active_record
If you are creating a new application, you can use -O to skip ActiveRecord:rails new my_app -OFor existing applications:1. Remove database adapter gems from your Gemfile (mysql2, sqlite3,转载 2014-06-12 19:35:51 · 529 阅读 · 0 评论 -
rails jsonp example
#server def cross_get_by_cityname cityname = params[:cityname] || "Shanghai" cityn = cityname.gsub(" ","").downcase render :json => Rails.cache.read("city_#{cityn}"), :callba原创 2014-06-13 10:48:49 · 1185 阅读 · 0 评论