2013-11-02 102 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