현재 Rails
과 Mongoid
을 사용 중입니다. 가정하자 나는 다음과 같은 모델이 있습니다별명을 사용하여 모델 클래스에 모듈을 포함시키는 방법은 무엇입니까?
class User
include Name
end
그리고 Name
모듈 :
module Name
included do
field :name, type: String
#other methods here...
end
end
문제
가 지금은 User
을 원하는 두 필드를 가지고 : name
및 nickname
, 사용하여 모두 Name
모듈. 어떻게해야합니까? 고맙습니다.
편집
carify하려면, name
및 nickname
주 몇 가지 방법을하지만, 별명은 몇 가지 특별한 방법 자체를 가지고있다. 예를 들어, 두 name
및 nickname
다음을 수행 할 수 있습니다
def greeting(name)
p "hello #{name}!"
end
을하지만, 단지 nickname
다음 작업을 수행 할 수 있습니다
def friendly_greeting(name)
p "hello #{name}! You can call me #{nickname}"
end
내 첫번째 생각은이 개 모듈을 만들 Name
및 Nickname
및 수 있도록하는 것입니다 Nickname
은 Name
의 서브 클래스 일 수 있습니다. 하지만 둘 다 모듈입니다. 그래서 이것이 작동하는지 모르겠습니다.
'name :'에'field : nickname, type : String'을 추가하십시오. 당신이 이해하지 못하는 것은 정확히 무엇입니까? – max
안녕하세요 @max, 모든 모델에'nickname' 필드가 필요한 것은 아닙니다. 'Car' 클래스에'Name' 모듈을 포함 할 수는 있지만'nickname' 필드는 적합하지 않습니다. 또한'name'과'nickname' 필드는 비슷한 것을 공유하지만 다른 구현도 있습니다. 제 수정 된 질문을 확인하십시오. –
예를 들어 파이썬처럼 루비에서 모듈의 일부분을 가져올 수 없습니다. 대신 다른 모듈과 구성을 사용해야합니다. – max