rails流水

11068 ワード

詳細
1.統計文字
中国人length=9"中国人".chars.length =3
2.経路ジャンプ
def authorize      session[:orient_uri] = request.request_uri      ...   end
def login      ....      redirect_to session[:orient_uri]   end
3.変数
ローカル変数グローバル変数インスタンス変数クラス変数定数name$name@name@@name NAME
 
4.Model類の方法
Modelで定義する方法は一般的に2種類に分けられる:1).クラスメソッド、定義:def self.find_me...呼び出し:Friend.find_me   2).インスタンスメソッド、定義:def find_me...呼び出し:@friend.find_me
5.layoutレンダリングをスキップ
すべてのumailsのビューをテンプレートでレンダリングしたい場合は、class UmailsController['show']....   end
6.firefoxは削除をサポートしていないようです.'newsForm')「class="bluelink">削除を必要とします.そうしないと反応しません.
7.後でrakeタスクを追加/変更した後、rakeを再実行する方法:030_add_area.rbまず実行:rake db:migrate version=29このときscheme_infoのversion=29になりました.次に再実行:rake db:migrateこの場合、現在のバージョン以降のタスクが実行されます.もちろん30のバージョンが実行されます.
 
rubyテキスト回転時間
 
 
str ="Tue, 10 Aug 2010 01:20:19 -0400 (EDT)"
date =Date.parse str
=>#
puts date
2010-08-10

 
str ="Tue, 10 Aug 2010 01:20:19 +0400"
puts Date.parse str
2010-08-10
puts Date.parse(Time.parse(str).utc.to_s)2010-08-09

 

Rubyエスケープ文字


 
str=str.gsub('str=str.gsub('>','>')str=str.gsub(/['''"/,'''')str=str.lstrip#前後スペースstr=str.delete("r")#改行文字str=str.delete("""")#tabを削除
 
 

RUBY文字列の前N文字または後N文字を取得


 str = "hello word"
puts str[0,5]#最初の5文字helloを取得
puts str[6,2]#6文字目以降の2文字woを取得
puts str[-4,4]#最後の4文字wordを取得
ruby 1.8.7+rails 2.3.8中国語は3文字のようです
 
 
equal?
2つのオブジェクトを比較することが多く,Rubyでは複数のオブジェクトを比較する方法が提供されている.私たちはequalを通じて?メソッドは、2つのオブジェクトが同じかどうかを比較します.これにより、2つの値が同じオブジェクトの参照を指しているかどうかを比較します.例:
a = "Ruby"       #  。
b = c = "Ruby"   #  。
a.equal?(b)      # false: a b 。
b.equal?(c)      # true: b c 。

この比較方式は実際には2つのオブジェクトのIDが同じかどうかを比較するものであり、明らかにaは1つのオブジェクトであり、bとcは別のオブジェクトを指し、それらのオブジェクトIDは異なる.
a.object_id == b.object_id   #   a.equal?(b)

 
==オブジェクトが等しいかどうかを比較する
彼の役割とequal?方法は異なり、2つのオブジェクトの内容が同じかどうかを比較します.
a = 
"Ruby" 
#文字列オブジェクトを定義
b = "Ruby"    #  a , 
a.equal?(b)   # false: a b 
a == b        # true:  

文字列に加えて、配列と辞書クラスは==オペレータを定義し、2つの配列または2つの辞書オブジェクトの要素の個数が同じで、各要素が同じである場合、==trueを返します.
Numericsオブジェクトは比較時に簡単な最新変換を行うため、Fixnumタイプの1とFloatタイプの1.0の比較結果は等しい.
同様に、あなたは使用することができます!=2つのオブジェクトが等しくないかどうかを判断します.
 
eql?方法
Rubyはeqlも提供していますか?メソッド、equalと?の機能は同じで、もっと精錬した書き方です.
 
3つの等号の比較操作==
通常、この方法は==と同じですが、特定の場合、===には特別な意味があります.
Rangeで===等号の右側のオブジェクトが等号の左のRangeに含まれているかどうかを判断するために使用されます.
正規表現では、文字列がパターンに一致するかどうかを判断するために使用されます.
Class定義==は、オブジェクトがクラスのインスタンスであるかどうかを判断します.
Symbol定義==は、等号の両方のシンボルオブジェクトが同じかどうかを判断します.
(1..10) === 5 # true: 5 range 1..10
/\d+/ === "123"  # true:  
String === "s"   # true: "s"  
:s === "s"       # true 

2つの点(".")範囲を表す2つの点(".")末尾要素を含む3つの点(「...」)を表します.末尾要素が含まれていないことを示します.