0

我有一个数据映射器模型:

module abc
    class Post
         include DataMapper::Resource
         property :title, String
         property :body,  Text
    end
end

请注意,我的课程围绕模块 abc

在其他文件中

我有:

abc::Post.all

这应该调用查询:

select * from posts

但它调用

select * from abc_posts

表名加了前缀abc_。我怎样才能删除它。我不在模块周围保留模型,然后它按预期工作。但是我的代码库需要模型在模块内。

4

2 回答 2

3

我在http://rubydoc.info/github/datamapper/dm-core/master/DataMapper/NamingConventions/Resource/UnderscoredAndPluralizedWithoutModule找到了解决方案

repository(:myreponame).adapter.resource_naming_convention = DataMapper::NamingConventions::Resource::UnderscoredAndPluralizedWithoutModule

更改:myreponame

也在http://datamapper.rubyforge.org/dm-core/DataMapper/NamingConventions.html

于 2012-11-13T00:47:28.603 回答
0

您还可以明确设置存储名称:

http://datamapper.org/docs/legacy.html

于 2012-11-20T23:24:37.483 回答