我正在尝试基于预先构建的模型设置模型,该模型在迁移中具有以下代码:
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
部分。
答案 0 :(得分:2)
这是一个显示关系的连接表。实际上user_id
和friend_user_id
都引用了用户表中的id
。
说我的身份证是10而你的身份是11.我认为你是“好”的朋友。所以在这张表中有一个记录:10,11,“好”。但你认为我是一个普通的朋友,所以还有一个记录:11,10,“正常”
答案 1 :(得分:2)
在第一行中,正在创建名为user_id
的两列和具有字符串数据类型的friend_user_id
。在第二行中,创建了另一个名为status
的列,其中包含字符串数据类型。因此,在迁移中,您可以在一行中写入具有相同数据类型的所有列名。即迁移可以这样写。
def change
create_table :friendships do |t|
t.string :user_id, :friend_user_id, :status
end
end
答案 2 :(得分:1)