2009-10-07 6 views
1

그래서 난에 직렬화 할 수 있어야 모델을 가지고/엑셀 (XLS) 문서에서 참조하십시오. 나는이 코드가 실제로 어디에 속해 있는지에 대해 약간의 상실감이있다. 내 생각에 to_xls는 뷰이지만 ActiveRecord에서 (to|from)_xml(to|from)_json과 같은 것들을 훑어 본 후이 모델이 속한 것인지 궁금합니다. 또는, 어딘가에 완전히 별개의 컨테이너에 속해 있습니까? 그것은 가치가 무엇인지에 대한어디 레일 응용 프로그램에 to_xls 및 from_xls을 넣어

는, 사용자가이를 게시 한 후, 엑셀에서 그들을 수정, 사이트에서 모델을 다운로드 할 수 있습니다.

답변

0

to_xls은 분명히입니다. /app/views/foos/show.xls.erb을 시도하지만 ERB가 XLS보기에 싫다면 RbTemplateHandler을 순수 루비로 렌더링 해보십시오.

from_xls는 완전히 다른 짐승이다. 그것은 확실히 컨트롤러에 속하지 않습니다. 그것은 논리적으로 모델에 속하지만 믹스 인으로 추출 할 수 있습니다. 당신은 하나 개의 모델 XLS 당기는 경우, 다음 설정이 충분해야합니다

# app/models/foo.rb 
class Foo 
    extend XLS2Foo 
    ... 
end 

# lib/foo_from_xls 
module XLS2Foo 
    def to_foo(xls) 
    ... 
    end 
end 

당신이 모델의 무리 위해 그것을 할 필요가 있다면, 당신은 lib 디렉토리 당신을 파서 발전기 DSL을 시도 할 수 있습니다 모델 클래스에서 각 모델에 대한 파서를 선언하십시오.

+0

나는 기본적으로 나무 테이블에 직렬화, 두 모델에 대해 동일한 일을 할 필요가 실현 : 다음은 한 예입니다. 주요 쟁점은 모델 믹스 인으로 선언할지 또는 특정 구조의 모델에서 작동하는 것으로 선언할지 여부입니다. –

0

은/from_xls 레일에서 지원되지 않습니다. 플러그인이 있지만, 사용하지 않았습니다. to_xls plugin for Rails. 더 좋은 방법은 FasterCSV을 사용하는 CSV를 오가며 사용할 수있는 무언가를 얻는 것입니다. Export to_csv from ActiveRecord

+0

내가하고 싶은 일을하기 위해 작성된 함수가 있습니다. 나는 코드를 어디에 두어야하는지 집중하려고 노력하고있다. –