2010-06-24 4 views
0

데이터베이스에 저장하려는 유형, 예를 들어 이메일 주소가 있으며 가능한 가장 효율적인 방법으로 저장하려고합니다. 나는 또한 게시물을 이메일 주소와 연관시키고 싶기 때문에 그 이메일 주소에 게시물을 할당하고 싶다. 먼저 검색을 수행 한 다음 그 결과를 기반으로해야합니까, 아니면보다 효율적인 방법이 있습니까? 예를 들어, 존재하지 않는다면, 나는 단지 그것을 삽입하기를 원한다. 나는 검색 후에 그것을 삽입하고 싶지 않다. 1은 2 번 통화를합니다.레일즈 효율적인 방법으로 비 중복을 저장 하시겠습니까?

답변

3

나는 find_or_create과 같은 것을 사용해야한다고 생각합니다.

postemailpost has_one email입니까?

편집

게시물을 작성하면 게시물의 많은 종류가 있습니다, 잘

# posts controller 
@email = Email.find_or_initialize_by_address(params[:email]) 
@post.email = @email #or whatever you do to associate them 
+0

처럼 뭔가를해야하고, 이메일은 중간 테이블 is_postable을 통해 그들에게 다형성 관계가있다. – tesserakt

+0

나는 나의 대답을 편집했다 :] 중요한 부분은'find_or_initialize_by'입니다. –

관련 문제