2010-05-27 5 views
0

사용자가 '선반', '상자'또는 '제품'에서 바코드를 스캔하여 해당 특정 항목이나 모든 관련 항목을 불러올 수있는 앱을 구축 중입니다. 항목.레일 - 여러 모델에 대한 단일 ID

이들은 모두 고유 한 ID를 가진 별도의 모델이므로 글로벌 ID 테이블이 필요합니다.

내가 ID '바코드'

바코드

  • 라는 다형성 테이블의 생각

  • barcode_number
  • barcodable

할 수있는 쉬운 방법이 있나요 이? 아니면 다형성이 가장 좋은 방법일까요?

답변

1

(결국 필드 number 또는 code이있을 것이다) 모델 Barcode 만들기 :

class Shelf < ActiveRecord::Base 
    belongs_to :barcode 
end 

class Box < ActiveRecord::Base 
    belongs_to :barcode 
end 

class Product < ActiveRecord::Base 
    belongs_to :barcode 
end 
:

class Barcode < ActiveRecord::Base 
end 

다음, 바코드가 모든 모델은 barcode_id 이름 테이블의 필드가됩니다

그러면 다음과 같은 바코드에 액세스 할 수 있습니다.

@shelf.barcode 
관련 문제