Ruby_and_Rails
文章平均质量分 72
fantaxy025025
Challenge everything !
Thinking in yourself!
Study study study !
展开
-
理解rvm
看看安装过程: lijg@lijg-pc ~ $ rvm install 1.8.6Installing Ruby from source to: /home/lijg/.rvm/rubies/ruby-1.8.6-p420, this may take a while depending on your cpu(s)... ruby-1.8.6-p420 - #...原创 2018-04-12 16:09:10 · 197 阅读 · 0 评论 -
Rails_Gemfile_Bundle_是否需要指定gem的版本_多机器运行环境一致问题_Gems版本保持一致...
Rails_Gemfile_Bundle_是否需要制定gem的版本_多机器运行环境一致问题_Gems版本保持一致 Rails目录下有两个文件,Gemfile和Gemfile.lockGemfile中,很多gem都指定了版本,但也有些麽有指定版本。所以问题出来了:为什么有些指定,有些不指定。那些没有指定版本的gem包,安装后,到底装的什么版本?部署多台服务器,这些g...原创 2013-09-05 15:34:41 · 292 阅读 · 0 评论 -
Ruby 的文件操作_不断总结
一、用文件和目录工作当我们说"文件"时,我们通常是指一个磁盘文件,尽管不总是这样。在Ruby中我们通常将文件做为一个抽象的概念,就像其它程序语言那样。当我们说"目录"时,我们是指通常的Winows或Unix的目录。File类与它继承的IO类很接近。Dir类就不这样,但我们将文件和目录放在一起讨论,是因为它们还是在概念上相近的。1、打开与关闭文件类方法File.new,它是File对象...原创 2014-07-11 11:55:24 · 104 阅读 · 0 评论 -
Rails源码阅读(12)叫Rails的模块module_Rails常量使用
The module nams "Rails" 基本都是一些类方法,本来也是作为服务类的。源码如下: class << self def application @@application ||= nil end def application=(application) @@applicati...原创 2014-07-02 09:35:55 · 268 阅读 · 0 评论 -
注册邮件中的链接无host
在注册邮件中用命名路由的xxx_url不起作用,导致注册邮件中的链接无host。 原因:Because mailers aren't run inside the response stack, they have no idea what host they were called from: that's why you're running into this error...原创 2014-05-19 14:47:53 · 145 阅读 · 0 评论 -
Ubuntu_ImageMagick_安装和问题
#安装 1. sudo apt-get install libjpeg62 (not sure if this is required or just dev is enough) 2. sudo apt-get install libjpeg62-dev 3. 卸载以前所有和imagemagick相关的包, 如: sudo ...原创 2013-08-09 23:48:03 · 829 阅读 · 0 评论 -
Rails的image_tag和image_path的使用
Rails的image_tag和image_path的使用Rails 的 pipline,思想很好,不少细节考虑细致入微,但结构设计的跟屎一样,稍微脱离“小而简”的项目就没法好好工作了,没法说了。 #md5的fingerprinthttp://guides.rubyonrails.org/asset_pipeline.html具有pipline的好处。但是,发现有些图片没有...原创 2013-11-11 21:25:00 · 412 阅读 · 1 评论 -
RBENV AND CAPISTRANO 问题和解决
capistrano碰到rbenv 碰到的主要麻烦:Bundler not working with rbenv, could not find [gem]http://stackoverflow.com/questions/9602806/bundler-not-working-with-rbenv-could-not-find-gem 几个解决方法: #配置ca...原创 2013-11-11 21:12:26 · 109 阅读 · 0 评论 -
RubyOrRails_使用技巧_收集
#link_to not working in script/consoleinclude ActionController::UrlWriter #自定义时间和日期的格式,用来调用在environment.rb你可以自定义时间和日期的格式 [Time::DATE_FORMATS, Date::DATE_FORMATS].each do |obj| obj[:dots] ...原创 2013-11-09 14:39:29 · 120 阅读 · 0 评论 -
Rails_ActiveRecord_分表分库_方法搜集
最好的方式是对程序是透明的,程序猿们不用关心背后的存储细节问题,比如是分表了还是分库了。 分表1Deal.table_name = "deals_100"deal = Deal.newdeal.price = xxxdeal.save 上面写法如果效率比较低的话(诱发底层的很多验证和表的meta数据获取),这样稍微会好些:if(Deal.table_n...原创 2013-06-17 11:56:22 · 362 阅读 · 0 评论 -
Ruby_byte_string_gbk_编码转换的问题
弄点儿细枝末节的问题,可能需要对知识更深入的理解。 需要把一个字节数组转换位GBK的字符串。 bytes = file.read(18) puts bytes puts bytes.encoding puts "|#{bytes.encode("GBK")}|" 这里报错: Encoding::Undefine...原创 2013-06-05 17:23:07 · 397 阅读 · 0 评论 -
Ruby_数组_根据多字段_排序
Ruby_数组_根据多字段_排序 Ruby Array sort by multiple fields 例如有一个网店城,每个小店都有销售,评论,信用度等shops = Shop.all(...)shops.sort_by{|shop| shop.topic_count} 需求是像数据库的sort by 那样排序。解决方法: 组装成一个数组,利用数组排序时...原创 2012-03-23 10:05:09 · 301 阅读 · 0 评论 -
RubyGems_Gem_版本_降级_升级_改变版本
目前好像还不能利用rvm来切换rubygems自己的版本,就像切换ruby和gemset那样。所以总是要来回切换版本,尤其是两个版本共存的时候。 这个不兼容问题阿。。。rvm没法解决么?求指点! 命令:#更新至最新版本 gem update --system #更新至指定版本例如1.3.7gem update --system 1.3...原创 2012-07-18 15:17:26 · 923 阅读 · 1 评论 -
Rails_Xattr_accessor_方法小结
一。基础知识:实例变量的特殊性:ruby中的实例变量,是在实例变量的表中去寻找的。这样,一个@name在没有定义的时候,寻找的结果是nil,而不是异常。但是,如果没有定义类变量@@buffer,则会抛出异常。 class MAttrAccessorTest #ok~ puts @name #=>nil #ERROR puts @@buffer #...原创 2012-06-30 17:28:25 · 137 阅读 · 0 评论 -
ruby_对象的比较_等于号_3个等于号_equal_eql
看case时,碰见了3等号===操作符,需要确认一下细节了。 equal?我们经常要比较两个对象,Ruby中提供了多种比较对象的方法。我们可以通过equal?方法比较两个对象是否相同,通过这种方式是比较两个值是否指向同一个对象的引用。比如:a = "Ruby" # 一个字符串对象。b = c = "Ruby" # 两个字符串对象指向动一个引用。a.eq...原创 2012-02-25 17:46:47 · 295 阅读 · 0 评论 -
Rails源码阅读(11)Rails使用bundle保持多机器环境gem版本的一致性
Rails源码阅读(11)Rails使用bundle保持多机器环境gem版本的一致性 ====rails3====文件conf/book.rb require 'rubygems'# Set up gems listed in the Gemfile.ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gem...原创 2013-09-05 19:21:38 · 161 阅读 · 0 评论 -
ruby_gem安装_切换指定不同的源
from:http://www.hiceon.com/topic/Ruby-Gem-install-source-taobao/ 由于国内网络原因(你懂的),导致 rubygems.org 存放在 Amazon S3 上面的资源文件间歇性连接失败。所以你会与遇到 gem install rack 或 bundle install 的时候半天没有响应,具体可以用 gem install ...原创 2014-07-20 18:09:08 · 381 阅读 · 0 评论 -
配置sunspot tomcat结合sunspot_rails
这个sunspot的东西还是有不少缺点的。 http://my.oschina.net/qinjker/blog/837541,sudo apt-get install openjdk-6-jdk2,sudo apt-get install solr-tomcat3, 在你的项目中加入sunspot支持(gem 'sunspot_rails'...)然后运行 rails ...原创 2014-02-26 10:58:35 · 96 阅读 · 0 评论 -
Rails外如何启动rails的类自动加载_activates autoloading using ActiveSupport 3.x
The following code activates autoloading using ActiveSupport 3.x:require 'active_support'require 'active_support/dependencies'relative_load_paths = %w[app/controllers app/models]...原创 2016-06-22 12:08:06 · 97 阅读 · 0 评论 -
Ruby发送HTTP请求
Ruby使用HTTP协议发送请求的方法备忘。好像这个包里面就很好用:require "open-uri" 1. 建立HTTP连接(通过GET方式发送请求参数) Ruby代码 require "open-uri" #如果有GET请求参数直接写在URI地址中 uri = 'http://uri' html_response = nil ...原创 2015-07-21 18:06:12 · 506 阅读 · 0 评论 -
Rails_migrations中使用mysql的bigint
From:http://rubyer.me/blog/468/ 使用mysql时,integer最大是2147483647(10位)。如果想存储更大的数字就要使用BIGINT。比如现在QQ号已经有11位,很快就12位了。搜索好久一直没找到好的办法,有人说要装插件,但我看了一下插件很久没更新了。后来看了下mysql_adapter源码找到答案,源码片段如下: # activerec...原创 2014-09-30 14:32:48 · 166 阅读 · 0 评论 -
invalid byte sequence in GBK”问题 invalid byte sequence in UTF-8”问题
碰见错误: test.rb:8:in `match': invalid byte sequence in GBK (ArgumentError) from test.rb:8:in `block in <main>' from test.rb:6:in `each' from test.rb:6:in `<m...原创 2015-07-03 15:11:47 · 1036 阅读 · 0 评论 -
Ruby1.9之字符串内编码和外编码
这里的文章很不错的么:Rubyisthttp://rubyeye.herokuapp.com/ puts "Encoding.default_external=#{Encoding.default_external}"puts "Encoding.default_internal=#{Encoding.default_internal}" win7下默认输出:Enco...原创 2015-07-02 17:52:47 · 287 阅读 · 0 评论 -
DevKit介绍和安装in railsInstaller
DevKit介绍和安装in railsInstaller ---------------下面是github上的描述---------简要DevKit可用于编译那些gem提供的c或c++的源代码。它本身被编译为了exe,安装的时候会找到ruby的目录,然后修改添加一些文件。这样,在安装那些需要编译的gem时,就直接搞定了。详细的描述,可参考Development Kit。...原创 2015-05-26 17:01:12 · 435 阅读 · 0 评论 -
每个命令都有bundle exec的麻烦
问题:每次都得搞这个东西bundle exec放在命令前面,直接污染了命令以及提示以及参数等。很是烦人。why do we use it?参考官方的提示,显示区别如下:bundle-exec - Execute a command in the context of the bundle.This command executes the command, making a...原创 2014-04-18 17:33:00 · 461 阅读 · 0 评论 -
如何在rails里打开gem里面的类_为何有时候不生效
在rails里面打开某个gem的类,补充一下等等,也是常见的,虽然不太欢迎这么做。 为何有时候不生效?如果gem里面已经登记了autoload :ConstName "some_path"则ruby就可以找到了,不会走rails的机制了。(原因看上一篇里的解释) 在rails代码里,手动require也不起作用?ruby的autoload只是登记作用,并不加载登...原创 2014-09-02 21:55:25 · 168 阅读 · 0 评论 -
ruby的加载机制和rails_自动加载机制_对比
prefer:http://urbanautomaton.com/blog/2013/08/27/rails-autoloading-hell/参考这篇文章,总结的已经很好了,有改动和补充。Ruby Constant Lookup(注意这里是Ruby的)Constant lookup in Ruby is reasonably simple, once you know th...原创 2014-09-02 16:51:25 · 314 阅读 · 0 评论 -
关于favicon.ico的报错:RoutingError
错误:ActionController::RoutingError (No route matches [GET] "/favicon.ico"):ActionController::RoutingError (No route matches [GET] "/favicon.ico"): actionpack (3.2.8) lib/action_dispatch/middle...原创 2014-03-31 14:45:06 · 735 阅读 · 0 评论 -
rbenv_安装太慢_解决办法
rvm做了很多“不为人知”的事情,而且做的太多了,对技术人员这点不好,技术如果不能理解原理,本身就有问题了。 rbenv相对来说“不为人知”的事情少些。 rbenv:https://github.com/sstephenson/rbenvrbenv的ruby-build:https://github.com/sstephenson/ruby-build#re...原创 2014-03-31 13:51:25 · 706 阅读 · 0 评论 -
Rails源码阅读(13)rails中的autoload和ruby的autoload
Rails源码阅读(13)rails中的autoload和ruby的autoload ruby的autoloadautoload(module, filename) → nilclick to toggle sourceRegisters filename to be loaded (using Kernel::require) the first time that mo...原创 2014-07-30 17:13:25 · 156 阅读 · 0 评论 -
Rails中命名路由的区别***_url与***_path
Rails中命名路由的区别***_url与***_path 意外为了安全,端口号跳来跳去,从3000跳到4000再跳到5000。。。8000,最后rails和nginx都没有得到最正确的端口号。这不要紧,最要紧的是命名路由出问题了,很多***_url的写法都得不到正确的端口号,跳到80了。 命名路由path是相对路径url是绝对路径model为复数的会对应到actio...原创 2014-07-29 16:37:35 · 138 阅读 · 0 评论 -
Rails Asset Pipeline 资源管线(笔记)
Rails Asset Pipeline 资源管线(笔记) 细节小记:# Search Paths in assetsThe default locations are: app/assets/images and the subdirectories javascripts and stylesheets in all three asset locations, but t...原创 2013-09-09 23:18:48 · 193 阅读 · 0 评论 -
Ruby_Rails_细节拾疑
# 方法接受可变长的参数 def m_a(*a) puts a.inspectendm_a(1, 2, 3)a = [4,5,6]m_a(a) #输出?m_a(*a) #输出? 输出: [1, 2, 3][[4, 5, 6]][4, 5, 6][{:c=>3, :a=>1, :b=>2}] ...原创 2011-12-09 14:16:45 · 64 阅读 · 0 评论 -
Ruby_语法_retry_使用介绍
Ruby Rails 语法 retry 使用介绍 retry这种用法在某种不常见的异常发生,需要重复做的时候会很好用,因为用for确实不太贴近实际情况。例如链接mongo,有时候因为网络原因,第一次不成功,需要重新试几次。 begin a = 1 / 0 #connect to mongo #mockrescue i ||= 0 puts "in ...原创 2011-12-06 17:16:48 · 283 阅读 · 0 评论 -
Ruby语言_陷阱_地雷_等的搜集(一)是变量还是方法_不统一
变量还是方法? 这个语句:name = my_name在别的语言中,my_name基本就是局部变量了。(注意下语境吧,别讨论xxx)在ruby中,因为方法调用可以省略括号,因此my_name也可能是一个方法,比如很可能是这个:self.my_name >这个只是针对“右值”情况; >如果是“左值”,则比较单一,就是局部变量,不是方法调用。所以,这里的...原创 2012-05-19 23:53:38 · 102 阅读 · 0 评论 -
ruby_on_rails_3.x_安装_手记
#1 安装rvm 和 ruby安装rvm,请根据官方步骤安装:https://rvm.beginrescueend.com/安装完成以后,一定要看看rvm notes命令的输出,根据提示,按要求安装完需要的包和路径等!下面是提示的样例:lijg@lijg-desktop:/etc/apt$ rvm notesNotes for Linux ( ...原创 2011-09-20 22:27:48 · 102 阅读 · 0 评论 -
ruby_类的实例变量和对象的实例变量
ruby_类的实例变量和对象的实例变量 Ruby中,类除了类变量@@x、实例变量@x,还有一个类的实例变量@x的概念,而且类的实例变量和对象的实例变量可以重名。类变量@@x实例变量@x,供给对象使用类的实例变量@x,供给类使用 怎么理解呢? 要理解Ruby的核心之一:类本身也是一个实例,比如下面例子的Test类,Test本身是Class类的一个对象。这样...原创 2011-06-13 18:22:35 · 124 阅读 · 0 评论 -
Ruby之self详解(二)_以及双冒号语法
请先看前一篇关于self的讲解:http://fantaxy025025.iteye.com/blog/1108639另外,如果有时间看看rails高级编程,会有更深入的理解,这本书讲的还是满深入的。 熟悉一个例子class A class B puts "self in class A::B is |#{self}|" def self.k...原创 2011-09-15 10:51:17 · 521 阅读 · 0 评论 -
Rails_初始化过程_和_修改默认配置的接口
Java Servlet 的初始化过程对配置和扩展出框架必不可少。同样,对rails,明白其初始化过程,才能更写出合理的代码,也可以根据需要配置和扩展~ 分析了半天script/server script/console 的代码后发现,前人已经总结了很好的文章,可以暂时节省不少时间~ 一。The Rails Initialization Process...原创 2011-06-07 18:41:00 · 119 阅读 · 0 评论 -
Rails_局部模板_小结
模板基础: View 层模板可以由三种方式写成。有 .rhtml 扩展名的模板文件混合使用ERb和HTML。有 .rxml扩展名的模板文件使用Builder::XmlMarkup库。有 .rjs扩展名的模板使用了ActionView::Helps::PrototypeHelper::JavaScriptGenerator。一、RHTML Rails使用...原创 2011-06-07 12:09:51 · 163 阅读 · 0 评论