2013-11-02 38 views
0

我想爲關鍵字表的腳手架操作作爲管理員。此代碼在我重新啓動服務器後開始工作,並從/app/models/admin/keyword.rb刪除Admin::,然後刷新網站,獲取錯誤並添加Admin::再次建模。從那一刻起,一切正常。但是,服務器啓動後,我得到這個:(軌道4)關係「admin_keywords」不存在`

PG::UndefinedTable: ERROR: relation "admin_keywords" does not exist

/app/controllers/admin/keywords_controller.rb來源:

class Admin::KeywordsController < ApplicationController 
    def index 
    @keywords = Admin::Keyword.all 
    end 
end 

/應用/模型/管理/關鍵字。 RB來源:

class Admin::Keyword < ActiveRecord::Base 
end 

會網址:

http://localhost:3000/admin/keywords 

的routes.rb:

namespace :admin do 
    resources :keywords 
    end 

如何解決這個問題?

+0

發佈您的schema.rb(相關部分)。你的關鍵字表應該被命名爲'admin_keywords'。您可能已將其命名爲「關鍵字」 –

回答

1

如果向模型添加命名空間,數據庫表也應包含此命名空間。例如型號Admin::Keywordadmin_keywords表有關。

您可以覆蓋模型中定義self.table_name='your_table_name'模型的模型表。

class Admin::Keyword < ActiveRecord::Base 
    self.table_name = 'your_table_name' 
end 
+0

謝謝!有用! – Gediminas