将关注点模块添加到模型
Add concerns module to Model
我有一个名为 Person
的模型 class。
人 class 有一个名为 car
的属性。
现在我想在关注模型中定义一个名为 Person::Car::HasProducer
的模块
该模块应如下所示:
module HasProducer
def produced_by_toyota?
car == "Prius"
end
def produced_by_bmw?
car == "X3" || car == "X5"
end
end
我想在以下位置找到此文件:concerns/person/car/has_producer.rb
在 Person
-class 中,我尝试像这样包含它:
class Person
include Person::Car::HasProducer
但是我得到了错误:Unable to autoload constant Person::Car::HasProducer
我尝试了 modules/classes
的不同组合,但 none 星座对我有用。
我必须做什么才能使 has_producer.rb
被发现为 Person::Car::HasProducer
?
要么定义你的模块以匹配命名空间 Person::Car::HasProducer
即如下所示:
class Person
module Car
module HashProducer
# your code here
end
end
end
或 include HasProducer
我有一个名为 Person
的模型 class。
人 class 有一个名为 car
的属性。
现在我想在关注模型中定义一个名为 Person::Car::HasProducer
该模块应如下所示:
module HasProducer
def produced_by_toyota?
car == "Prius"
end
def produced_by_bmw?
car == "X3" || car == "X5"
end
end
我想在以下位置找到此文件:concerns/person/car/has_producer.rb
在 Person
-class 中,我尝试像这样包含它:
class Person
include Person::Car::HasProducer
但是我得到了错误:Unable to autoload constant Person::Car::HasProducer
我尝试了 modules/classes
的不同组合,但 none 星座对我有用。
我必须做什么才能使 has_producer.rb
被发现为 Person::Car::HasProducer
?
要么定义你的模块以匹配命名空间 Person::Car::HasProducer
即如下所示:
class Person
module Car
module HashProducer
# your code here
end
end
end
或 include HasProducer