0

我發現的所有參考文獻都告訴我如何在創建表格時執行此操作,還是爲了更早版本的rails。理想情況下,我希望在問題表中將foreign_key命名爲'author_id',以便將其與以後可能會留下評論或答案的其他用戶區分開來。如果我已經爲要關聯的表創建了模型,如何在rails 5中創建外鍵?

class Question < ApplicationRecord 
    belongs_to :user 
end 

class User < ApplicationRecord 
    has_many :questions 
end 

回答

0

您可以通過rails generate migration RenameUserFkOnQuestion在您的終端中創建一個新的空遷移文件。打開它並建立你的遷移。 This is a handy guide如果你不確定某件事的名字。

def change 
    change_table :questions do |t| 
    t.rename :user_id, :author_id 
    end 
end 

運行遷移並轉到您的模型。你需要像這樣更新你的關係:

class Question 
    belongs_to :author, class_name: 'User' 
end 

class User 
    has_many :questions, inverse_of: :author 
end 

然後,你應該很好去。

相關問題