2013-03-27 64 views
0

我基於具有在遷移下面的代碼預先建立的模型試圖建立一個模型:這是什麼樣的遷移?

def change 
     create_table :friendships do |t| 
     t.string :user_id, :friend_user_id 
     t.string :status 
     end 
    end 

我獲取正在創建了一列將使用一個字符串t.string :status部分。我不明白在同一行上有兩個屬性的t.string :user_id, :friend_user_id部分。

回答

2

在第一行,兩列正在創建命名爲user_idfriend_user_id有字符串數據類型。在第二行中,創建另一個名爲status的列,它具有字符串數據類型。因此,在遷移中,您可以將所有列名寫入具有相同數據類型的一行中。即遷移可以像這樣書寫。

def change 
    create_table :friendships do |t| 
    t.string :user_id, :friend_user_id, :status 
    end 
end 
2

這是顯示關係的連接表。其實user_idfriend_user_id都是指用戶表中的id

說我的ID是10,你的是11我認爲你是一個「好」的朋友。所以在這張表中有一個記錄:10,11,「好」。但你認爲我是一個普通的朋友,所以還有一條記錄:11,10,「正常」

1

這只是在同一行中具有相似屬性的兩列的聲明。它類似於

t.string :user_id 
t.string :friend_user_id 

你可以找到該文件在here(尋找「短手的例子」)