sudo kill -9 `ps -A | grep mem | awk ‘{print $1}’` && memcached -m 20 -d
//返回某个时候的改动
git reset —soft …
git reset —hard …
git reset是指将当前head的内容重置,不会留log信息。 * git reset HEAD filename 从暂存区中移除文件
>> New.find(1) | |
ActiveRecord::RecordNotFound: Couldn't find New with ID=1 | |
from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.2/lib/active_record/base.rb:1591:in `find_one' | |
from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.2/lib/active_record/base.rb:1574:in `find_from_ids' | |
from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.2/lib/active_record/base.rb:616:in `find' | |
from (irb):4 | |
>> New.find_by_id(1) | |
=> nil | |
//直接利用find方式查找,如果没有数据会跑出异常,而利用find_by_id方式会返回nil |
ActionRecord 配置 | |
整理出来方便查询 | |
1.ActionRecord:Base.logger=logger | |
接受一个logger对象。改对象被内部使用。用于记录数据库的操作。如果应用程序须记录数据库操作,也会使用这个logger对象。 | |
2.ActionRecord:Base.primary_key_prefix_type=option | |
如果option为nil.则所有表的缺省主键字段都是id,如果改选项值为:table_name,则会在"id"前面加上表名,如果改选值 为: | |
table_name_with_underscore,则会在表名与id之间以下画线分隔。 | |
3.ActionRecord:Base.table_name_prefix="prefix" | |
在表名前面加上指定的字符串。譬如说,如果模型类叫做User,前缀字符串是"myapp-",则Rails会寻找名为"myapp- users"的表,如果 | |
需要与别的应用程序共享数据库,或者必须用同一个数据库进行并发开发与测试,这个选项就能派的上用场。 |
//Hash to Struct | |
class Hash | |
def to_struct(struct_name) | |
Struct.new(struct_name,*keys).new(*values) | |
end | |
end | |
if $0 == __FILE__ | |
h = {:name=>"Dan","age"=>33,"rank"=>"SrA","grade"=>"E4"} |
class Hash | |
def method_missing(method, *params) | |
#首先得把symbol转化成string,如h={}.h.a = 1,此时,method 就为:a= | |
method_string = method.to_s | |
if method_string[-1] == 61 | |
self[method_string[0..-2]] = params.first | |
else | |
self[method_string] | |
end | |
end |
获取当前IP地址:ifconfig eth0 |grep "inet addr:" |awk '{print $2}'|cut -c 6- |
module MyModule | |
module ClassMethods | |
def act_as_my_module(params) | |
#Note that in order to avoid having to escape string delimiters, we use a #special, multiline string syntax. Text between <<-DELIM ... DELIM is treated as a #plain old string. In this case, our string is Ruby code intended to be evaluated by #class_eval. | |
class_eval do <<-DELIM | |
def some_method | |
#remember , string substitution | |
#is OK here. e.g., #{params[:foo]} | |
end | |
DELIM |
Factory.define :valid_thing, :class => Thing do |t| t.name 'Some valid thing' t.user { Factory(:valid_user) } end
Wrapping the call in {} causes Factory Girl to not evaluate the code inside of the braces until the :valid_thing factory is created. This will force it to wait until the
find app -iname '*.rb' | xargs sed -i '1 i\# encoding: utf-8' |
后台启动mongodb: ./mongod --fork --logpath /var/log/mongodb.log --logappend | |
关闭mongodb: $ ./mongo | |
> db.shutdownServer() | |
今天,准备执行rake db:seed时,发现出现:no such file to load --openssl, | |
在安装了sudo apt-get install openssl libopenssl-ruby1.9 都没有效果后,此时,从http://openssl.org/ 上下载OpenSSL 0.9.8o 的tar包,自己进行编译安装。步骤如下。 | |
1. tar -xvf openssl* | |
2. cd openssl* | |
3. sudo make && sudo make install | |
4.进入ruby源文件目录,找到/ext/openssl 的目录,进入此目录 |