关系“admin_keywords”不存在

时间:2013-11-02 11:56:06

标签: ruby-on-rails

我想将关键字表格的脚手架操作设为管理员。重新启动服务器后,此代码开始工作,从Admin::删除/app/models/admin/keyword.rb,然后刷新网站,获取错误并再次向模型添加Admin::。从那一刻起,一切正常。但是在服务器启动之后,我得到了这个:( Rails 4)

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

/app/controllers/admin/keywords_controller.rb source:

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

/app/models/admin/keyword.rb来源:

class Admin::Keyword < ActiveRecord::Base
end

转到网址:

http://localhost:3000/admin/keywords

routes.rb中:

  namespace :admin do
    resources :keywords
  end

如何解决此错误?

1 个答案:

答案 0 :(得分:1)

如果将名称空间添加到模型中,则数据库表也应包含此名称空间。例如,模型Admin::Keywordadmin_keywords表相关。

您可以覆盖模型中定义self.table_name='your_table_name'方法的模型表。

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