Ruby on Rails,重命名模型后未经过消毒的常量

时间:2016-02-23 04:37:49

标签: ruby-on-rails ruby namespaces

我对RoR很新。

我可以使用这个来源并毫无问题地调用“UsersFriends.test”。

class UsersFriends < ActiveRecord::Base
  belongs_to :user
  module Status
    UNREAD = 0; READ = 1; GET = 2
  end

  def self.test
    Time.now.strftime('%F')
  end
end

现在我想在控制台中将其称为“朋友”。所以,我在UsersFriends面前添加了“Friend ::”。 但是当我使用以下来源时,我会得到“未经证实的常朋友”。

class Friend::UsersFriends < ActiveRecord::Base
  belongs_to :user
  module Status
    UNREAD = 0; READ = 1; GET = 2
  end

  def self.test
    Time.now.strftime('%F')
  end
end

你能解释一下如何解决这个问题吗?

谢谢。

1 个答案:

答案 0 :(得分:2)

你不能直接这样做。如果您想要这种行为,您应该在app目录结构中进行一些更改。

创建一个名为friend的文件夹,并在该文件夹中放入usersfriends.rb文件。

app/models/friend/usersfriends.rb 

(如果需要,创建一个名为friend的模型,或者使用用户模型,并使用用户而不是朋友引用相同的模型)

然后,使用

class Friend::UsersFriends < ActiveRecord::Base 

你可以找到一篇很好的文章名称间距文章here in this link