Rails嵌套模型应该是复数命名空间还是单数?

时间:2013-06-27 20:49:58

标签: ruby-on-rails ruby

我正在创建特定于另一个模型的模型(最终将使用Mongoid嵌入父模型中)。现在我只是想弄清楚如何命名它们。我已经看到它做到了两种方式,所以我不知道该怎么做:

奇异:

models/
  post.rb
  post/
    comment.rb
    comment/
      happy_comment.rb

class Post

class Post::Comment

class Post::Comment::HappyComment < Post::Comment

复数:

models/
  post.rb
  posts/
    comment.rb
    comments/
      happy_comment.rb

class Post

class Posts::Comment

class Posts::Comments::HappyComment < Posts::Comment

后者的好处是可以有PostsComments个模块来包装每个子模型:

module Posts
  module Comments
    class HappyComment < Comment

命名这些子模型的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

对此没有普遍接受的约定,你可以使用两者,具体取决于你发现的更好。从技术角度来看,Rails在两种情况下的表现不同。

P.S。您是否还要使用名为PostComment等的其他模型?如果没有,那么最好的办法就是让每个模型都放在models/文件夹的顶层。