我想将关键字表格的脚手架操作设为管理员。重新启动服务器后,此代码开始工作,从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
如何解决此错误?
答案 0 :(得分:1)
如果将名称空间添加到模型中,则数据库表也应包含此名称空间。例如,模型Admin::Keyword
与admin_keywords
表相关。
您可以覆盖模型中定义self.table_name='your_table_name'
方法的模型表。
class Admin::Keyword < ActiveRecord::Base
self.table_name = 'your_table_name'
end