Rails 4模型子文件夹

我在app / models / request / book文件夹中创建了模型,但Book :: Request :: Status.table_name返回表名“statuses”(“book_request_statuses” – 是正确的表名)。 我怎么能得到正确的表名?

模特位置

模型/
  书/
    请求/
       status.rb

模型/书/请求/ status.rb

class Book::Request::Status < ActiveRecord::Base ... end 

配置/ application.rb中

 config.autoload_paths += Dir[Rails.root.join('app', 'models', '**', '*.rb')] 

如果我设置self.table_name =“book_request_statuses”,那么模型将正常工作(在模型中),但这不是很好的方式:)。

抱歉我的英语不好

1)使用这些行在app / models / book.rb中创建一个模块。

 module Book def self.table_name_prefix 'book_' end end 

2)然后在app / models / book / request.rb中创建另一个模块

 module Request def self.table_name_prefix 'request_' end end 

3)将状态模型放在app / models / book / request /目录中。

4)保持所有其他文件完好无损。

我希望这适合你。