我在 app/models/request/book 文件夹中创建了模型,但 Book::Request::Status.table_name 返回表名称“statuses”(“book_request_statuses” - 是正确的表名称)。如何获得正确的表名?
模型位置
model/
book/
request/
status.rb
模型/书籍/请求/status.rb
class Book::Request::Status < ActiveRecord::Base
...
end
配置/应用程序.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) 保持所有其他文件完好无损。
我希望这对你有用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)