2010-05-19 5 views
0

이것은 HappyMapper와 관련된 질문 일 수 있지만 그렇게 생각하지는 않습니다.구문 분석 된 xml 파일 : 비어있는 경우 만들기를 건너 뛰시겠습니까?

내 앱에서 사용자는 OPML 파일을 통해 블로그 구독을 업로드 할 수 있으며이를 프로필에 추가하고 프로필에 추가 할 수 있습니다. 유일한 문제는 구문 분석 또는 더 구체적으로 각 구독의 생성 중에, 나는 "레이블"항목을 건너 뛰는 방법을 알아낼 수 없습니다.

OPML 파일을 사용하면 블로그에 레이블을 지정하거나 폴더에 정리할 수 있으므로 내 문제입니다. 실제 블로그 구독 및 해당 레이블에는 모두 "개요"태그가 있습니다.

<outline text="Rails" > 
<outline title="Katz Got Your Tongue?" text="Katz Got Your Tongue?" htmlUrl="http://yehudakatz.com" type="rss" xmlUrl="http://feeds.feedburner.com/KatzGotYourTongue" /> 

는 구문 분석 후, 나는 HappyMapper 모듈

def create_feed 
    Feed.new(:feed_htmlUrl => self.htmlUrl, :feed_title => self.title, ... 

의 내부 메소드 호출을 통해 각 피드를 생성하지만 어떻게 내가 새로운 생성되는 것을 방지 할 단지 태그는 그 개요 태그에 대해 "공급" ? (? htmlUrl을하지 않아도 즉 사람들을)

답변

0

나는 이것을 시도 할 것이다 다음 Feed 모델 클래스에서

, 우리는 before_create 필터를 사용합니다. 다음과 같이 :

class Feed < ActiveRecord::Base 
    before_create :validate_attribute 

    private 

    def validate_attribute 
    return false if self.htmlUrl.blank? 
    # place more validation here 
    end 
end 

이렇게하면 validate_attribute를 만족하는 새 레코드 만 생성됩니다.

잘하면 도움이됩니다.

+0

안녕하세요, SamChandra! ...하지만 나는 아무 쓸모가 없어 보았습니다. 그것을 작동시킬 수도 있지만, 그것은 조금 너무 hackish 느낀다. 나는 htmlUrl이 비어 있다면 왜 실제 create_feed 메소드에서 피드 생성을 포착하고 무시할 수 없는지 아직도 이해하지 못한다. 그것은 솔직히 내 마음을 불고있어. 삼촌에게 다시 한번 감사드립니다. 나는 그걸 가지고 노는 것을 계속할 것이다. – GoodGets