class Books < ActiveRecord::Migration
def self.up
create_table :books do |t|
t.column :title, :string, :limit => 32, :null => false
t.column :price, :float
t.column :subject_id, :integer
t.column :description, :text
t.column :created_at, :timestamp
end
end
def self.down
drop_table :books
end
end
create_table :books do |t|
这一句 没有迭代操作 为什么会有 ruby do |t|
这句呢 这里的 ruby do |t|
到底是什么意思? 求高人解答
リーリー
反復ではなくコールバックです。
Ruby のコールバックについて:
http://stackoverflow.com/questions/1677861/how-to-implement-a-callback-in-ruby
Rails の移行について:
http://guides.rubyonrails.org/migrations.html
jQuery で Ajax を実行したことがある場合は、次のような経験があるはずです:
リーリー$.get()
メソッドの戻り値はtest.phpのレスポンスボディで、最初のパラメータはリクエストされたURL、2番目のパラメータはコールバック関数です。この関数はパラメータの値としてtest.phpのレスポンスボディを受け取ります。データを渡し、ポップアップ ウィンドウの表示を渡します。この移行ステートメントは次のように理解できます。
リーリーこちら: /q/1010000000266437 すでに戻って、再度ここに移動しました。
リーリーdo|x|...end には特別な意味はなく、{|x|} と同様に、単にブロックを表します。 このコードには反復があり、実際には次のようになります:
リーリーはい、もちろんこれも合法です:
リーリーすると括弧が省略できるので上記のようになります。
Ruby がそのような関数を実装するには、次のものだけが必要です:
リーリーイテレータのより具体的な使用法については、こちらをご覧ください: http://blog.csdn.net/classwang/article/details/4692856
do ... end はブロックである { ... } と同等であり、Ruby メソッドはブロック パラメーターを受け入れることができます
。