gpt4 book ai didi

ruby-on-rails - 正确的 Rails 模型命名空间

转载 作者:太空宇宙 更新时间:2023-11-03 18:10:50 25 4
gpt4 key购买 nike

最近我为了好玩开始了一个新的 Rails 项目,并决定在模型中使用命名空间。我有一些困难。

例如,我有模型Party:

# app/models/party.rb

class Party < ActiveRecord::Base
end

每一方都会有Chat:

# app/models/party/chat.rb

module Party
class Chat < ActiveRecord::Base
end
end

问题是,当我调用 Party 时,Rails 如何确定我调用的是 module Party 还是 class Party

最佳答案

确实,如果你这样做,Ruby 会报错,因为 Party不能同时是模块和类。所以至少,Party需要继续上课。

现在,就“Rails 方式”而言,我们通常不会子类化我们的关联(即您的 Chat 可能会是 belong_toParty ),我们只是将所有模型放在根命名空间中(除非有人有充分的理由)。所以你会有 Partyapp/models/party.rbChatapp/models/chat.rb .

我猜有人会创建一个命名空间子类 Party::Chat仅当存在不同的 ::Chat 时已经存在,甚至可能导致 Ruby 的持续查找出现问题,这有时是违反直觉的。

关于ruby-on-rails - 正确的 Rails 模型命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34570241/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com