나는 꽤 혼란 스럽다. 몇 가지 이미지를 취하고 결합한 다음 결합 된 이미지를 .png 형식으로 추출하는 코드가 있습니다.레일즈 - 공통 코드에 적합한 장소 찾기
원래이 코드는 모델에 대한 방법으로, 모델의 연관성을 사용하여 사용할 이미지를 나타냅니다. 따라서 :
class Component < Refinery::Core::BaseModel
drawing_accessor :drawing
. . .
end
class Photo < Refinery::Core::BaseModel
has_and_belongs_to_many :components
has_many :drawings, :through=>:components
def diagram
. . . .
Base64.encode64(png.to_blob) #spit out the png as a base64 encoded string
end
end
및 뷰에서
나는<img src="data:image/png;base64,<%[email protected]%>"
지금, 나는 같은 이미지의 결합,하지만 직접 구성 요소 ID 목록에서 작업을 수행해야 쓸 수 있습니다. 구성 요소 ID가 사진에 저장되지 않았기 때문에 사진 모델에서이 코드를 이동해야합니다.
어디서 왔는지에 관계없이 구성 요소 ID의 목록 (배열 또는 컬렉션) 인 매개 변수를 사용하여 동일한 그리기 코드를 호출 할 수 있습니다.
다이어그램이 구성 요소 집합에서 비롯된 것처럼 구성 요소 ... 어딘가에 속해야합니다.
내 다양한 시도에서 나는 undefined method
을 ActiveRecord :: Relation 또는 Array로 끝냅니다.
이 코드의 위치와 호출 방법에 대한 내 생각을 명확히하는 데 도움이 될 수 있습니까?
덕분에
감사합니다.하지만 내가 조립 한 이미지는 스프라이트가 아닙니다 (또는 스프라이트 용). 수백 개가 너무 많아서 스프라이트로 적합하지 않을 수도 있습니다. –