- 浏览: 416181 次
- 性别:
- 来自: 北京
-
最新评论
-
冯大圆__渐成胡子渣:
写得很详细,想请求一下,bundler install的时候设 ...
Rails Assets Pipeline -
DaSunWarman:
...
#!/usr/bin/env 脚本解释程序的作用 -
alexag:
...
javascript立即执行函数与函数声明和函数表达式 -
houxm:
你也可以使用更简单的方式(只要在元素上添加 data-togg ...
bootstrap 小tip -
jaycongwen:
帮我看看啊,我刚学wen@wen-desktop:~$ cd ...
cannot load such file -- openssl
文章列表
ruby的动态性 eval 家族
- 博客分类:
- ruby Tip
eval
将字符串作为代码来求值,最直接,也是最危险的方法。
编写一个让别人在运行时键入方法名的方法:
print "Method name:"
m = gets.chomp
eval("def #{m}; puts 'Hi!'; end")
eval(m)
如果在运行时,输入abc,那么eval求值的字符 ...
记住:Ruby的动态特性是以self身份的转换为基础的。
单例类
先来看看什么是单例类。大多数Ruby程序中发生的都涉及包含实例方法定义的类和模块:
class C
def talk
puts "Hi!"
end
end
使用下面的方法实例化和实例方法调用:
c = C.new
c.talk
还可以直接给单个对象添加方法:
obj = Object.new
def obj.talk
puts "Hi!"
end
obj.talk
像这样在特定对象上添加的方法称为单例方法。如果为一个给定的对象定义了单例方法,那么只有该对象可以 ...
ruby 内建类关系
- 博客分类:
- ruby Tip
我们看到Ruby里,可以直接写puts, print等,感觉像是命令动词一样,这和我们说的Ruby里一切都是对象有点冲突,其实我们理解了Ruby中Class, Module,Object,Kernel的关系,就明白了,通过下面的代码,我们知道Module是Class的父类.
puts Class.ancestors => Class Module Object Kernel BasicObject
puts Module.ancestors => Module Object Kernel BasicObject
puts Object.ancestors => ...
区间表示一种序列。在 Ruby 中,使用 ".." 表示闭区间,而使用 "..." 表示半闭半开区间,区别在于闭区间包含右端的值,而半闭半开区间则不包含。
a = 1..9
puts a.min # => 1
puts a.max # => 9
b = 1...9
puts b.min # => 1
puts b.max # => 8
#当前方法的执行体
puts "#{nil}"
#NilClass的唯一实例
puts "#{nil}"
#TrueClass的唯一实例
puts "#{true}"
#FalseClass唯一实例
puts "#{false}"
#当前文件名
puts "#{_FILE_}"
#当前文件中的行号
puts "#{_LINE_}"
ruby 方法返回多个值
- 博客分类:
- ruby Tip
def LoveMovieAndSport(name)
[name + 'Love StarWar',name + 'Love FootBar']
end
movie,sport = LoveMovieAndSport("Jack")
puts movie => Jack Love StarWar
puts sport => Jack Love FootBar
sudo yum install libxml libxml-devel libxslt libxslt-devel
sudo gem install nokogiri
现在我们过一遍服务器端架设 SSH 访问的流程。本例将使用 authorized_keys 方法来给用户授权。我们还将假定使用类似 Ubuntu 这样的标准 Linux 发行版。首先,创建一个名为 ‘git’ 的用户,并为其创建一个 .ssh 目录。
$ sudo adduser git
$ ...
Ctrl+L 选择整行(按住-继续选择下行)
Ctrl+KK 从光标处删除至行尾
Ctrl+Shift+K 删除整行
Ctrl+Shift+D 复制光标所在整行,插入在该行之前
Ctrl+J 合并行(已选择需要合并的多行时) ...
今天打算在项目中使用缓存,借助cache_fu这个gem来实现,
1、Gemfile文件加入cache_fu
2、然后bundle install
3、安装 libevent
4、安装 libsasl2-dev
5 安装 memcached
6、启动memcached
7运行你跑在本地的项目(这个时候报错:uninitialized constant MemCache (NameError))
经google查知,在rails启动的时候没有加载memcache,解决办法,在config/environment.rb 中require 'memcache'
之后重新运行,ok,问题解决
今天在 vps 安装rvm 的时候报错了,具体步骤:
bash -s stable < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer)
提示信息:
curl: (60) SSL certificate problem, verify that the CA cert is OK. Details:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
...
在看见下边这个网址之前,我还在傻傻的自己手动的配置vim 及各种适合rails开发的 vim 插件,很是痛苦,之后发现了这个,原来这些痛苦的事情可以用几行命令搞定,特此记下来以备后用
https://github.com/wongyouth/vimfiles
使用分屏命令:
:new 创建空白分屏
:split 对当前光标所在窗口进行水平分屏
:vsplitt 对当前光标所在窗口进行竖直分屏
:new filename 创建分屏并打开filename文件
:sv filename 对当前光标所在窗口进行水平分屏,并载入文件
:vs filename 对当前光标所在窗口进行竖直分屏,并载入文件
:only 取消其他分屏,保留当前光标所在窗口
分屏快捷键:
CTRL-w v 对光标所在窗口进行竖直分屏
CTRL-w o 取消其他分屏,保留当前光标所在窗口
切换光标所在窗口:
CTRL-w
分屏启动vim:
使用小写的o参数来水平 ...
Rails构成模块介绍
- 博客分类:
- ruby on rails
Rails有很多独立的模块组成,了解模块间的关系对了解整个框架很有帮助。
Rails包含以下模块:
Action Pack
—-Action Controller
—-Action Dispatch
—-Action View
Action Mailer
Active Model
Active Record
Active Resource
Active Support
Railties
1 Action Pack
Action P ...
原文出处:
http://zires.info/2011/02/rails3-%E5%88%9D%E5%A7%8B%E5%8C%96%E5%92%8C%E5%90%AF%E5%8A%A8-initialization-process/
参考链接:
http://blog.csdn.net/tomwang1013/article/details/8657191
http://blog.csdn.net/tomwang1013/article/details/8691335
一直想搞清楚rails的启动和整个生命进程,好在有官方的guide用来参考,The Rails Initializati ...