在ActiveRecord中带有命名空间模型的WHERE查询,可以使用完整的模型名称来进行查询。
以下是一个示例解决方案,假设有一个名为"NamespaceModel"的命名空间模型,模型所在的命名空间为"NamespaceModule":
# 定义命名空间模型
module NamespaceModule
class NamespaceModel < ActiveRecord::Base
# 声明模型与表的对应关系
self.table_name = 'namespace_models'
end
end
# 进行WHERE查询
namespace_models = NamespaceModule::NamespaceModel.where(name: 'John')
# 输出查询结果
namespace_models.each do |model|
puts model.name
end
在上述示例中,首先定义了一个名为"NamespaceModel"的命名空间模型,通过设置"self.table_name"属性来指定模型对应的数据库表名。
然后使用"NamespaceModule::NamespaceModel.where"方法进行WHERE查询,查询条件为"name: 'John'",即查询name字段等于'John'的记录。
最后通过遍历查询结果,输出每个查询到的模型的name字段值。