2010-11-24 251 views
0

我是新來的紅寶石。所以,我對下面的代碼行困惑:紅寶石語法問題

class CreateProducts < ActiveRecord::Migration 
    def self.up 
    create_table :products do |t| 
     t.string :title 
     t.text :description 
     t.string :image_url 
     t.decimal :price, :precision => 8, :scale => 2 

     t.timestamps 
    end 
    end 

    def self.down 
    drop_table :products 
    end 

end 

行的人讓我最困惑的是:

t.string :title 

我只是不明白。那麼,爲了理解這一行代碼,你們中的任何一個人可以給我一些提示,指出我需要閱讀哪些ruby語法部分?提前致謝。

回答

3

這只是一般的Ruby語法的消息。

t.string :title 

裝置

  1. 解除引用塊局部變量t
  2. 發送消息:stringt引用的對象,並通過文字符號:title作爲唯一的參數
1

我在這裏猜了一點,但作爲探索

的基礎:標題是Ruby的「符號」 - 基本上是一個黑客提供更高效率的字符串常量一樣 - 所以t.string :標題有點像調用t.string("title")更受歡迎的面嚮對象語言,並且由於您似乎正在爲數​​據庫聲明一個記錄結構,所以我會說這就是有效地添加了一個名爲「string」的字段的字段。

+0

()方法調用與對象方向有什麼關係? – 2010-11-24 14:38:17

0

到充分了解該文件,您需要了解類,繼承,模塊,方法calli ng,塊和符號。