0

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

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

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

class Admin::Keyword < ActiveRecord::Base
end

去网址:

http://localhost:3000/admin/keywords

路线.rb:

  namespace :admin do
    resources :keywords
  end

如何修复此错误?

4

1 回答 1

1

如果为模型添加命名空间,数据库表也应该包含这个命名空间。例如模型Admin::Keywordadmin_keywords表相关。

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

class Admin::Keyword < ActiveRecord::Base
  self.table_name = 'your_table_name'
end
于 2013-11-02T12:10:34.510 回答