2015-11-18 110 views
0

我有兩個型號 '教程' 和 'Tutorialcategory'PG ::錯誤:錯誤:列tutorials.tutorialcategory_id不存在

class Tutorialcategory < ActiveRecord::Base 
has_many :tutorials 


class Tutorial < ActiveRecord::Base 
    belongs_to :tutorialcategory 

教程與多個類別,如HTML相關,rubyonrails其中HTML和Ruby on導軌tutorialcategories

以下是遷移

class CreateTutorials < ActiveRecord::Migration 
    def change 
    create_table :tutorials,force: true do |t| 
     t.string :title 
     t.text :body 
     t.integer :rating 
     t.string :videoid 
     t.belongs_to :tutorialcategory 

     t.timestamps 
    end 
    end 
end 


class CreateTutorialcategories < ActiveRecord::Migration 
    def change 
    create_table :tutorialcategories do |t| 
     t.string :title 

     t.timestamps null:false 
    end 
    end 
end 

所有教程都索引頁上正常上市,但是當我看到分類頁面給它ŝ我下面的錯誤

PG::Error: ERROR: column tutorials.tutorialcategory_id does not exist 
+1

您是否記得在創建遷移後運行'rake db:migrate'? –

+0

是的,我做到了,我可以添加教程。 –

+0

@Vikram你勾選了[這個](http://stackoverflow.com/questions/5450930/heroku-postgres-error-pgerror-error-relation-organizations-does-not-exist)thread?希望這會是一些幫助。 – Lahiru

回答

0

我不知道你爲什麼將模型命名爲Tutorialcategory,而不是TutorialCategory隨後Rails的命名規則,使之更容易理解。

首先,回滾您的數據庫一步

rake db:rollback 

更改遷移文件:再次

class CreateTutorials < ActiveRecord::Migration 
    def change 
    create_table :tutorials,force: true do |t| 
     t.string :title 
     t.text :body 
     t.integer :rating 
     t.string :videoid 
     t.belongs_to :tutorial_category, index: true 

     t.timestamps 
    end 
    end 
end 


class CreateTutorialCategories < ActiveRecord::Migration 
    def change 
    create_table :tutorial_categories do |t| 
     t.string :title 

     t.timestamps null:false 
    end 
    end 
end 

運行遷移和編輯模型,以配合新的模式。

class TutorialCategory < ActiveRecord::Base 
    has_many :tutorials 


class Tutorial < ActiveRecord::Base 
    belongs_to :tutorial_category 
+0

是的,他沒有使用正確的命名約定,但仍然爲什麼錯誤?它看起來代碼是完美的嗎? – Guru

+0

@Guru同意。但是當我們不知道的時候,讓我們嘗試一下按照命名規則使它工作,因爲Rails的方式:'convention over configuration' –

+0

我覺得我非常接近它,只是沒有得到如何連接多個到多個。按照rails的說法,belongs_to是一對多的,但我有很多可以用has_and_belongs_to_many完成的事情,但是我怎樣才能得到一個類別的列表教程。 –

相關問題