2017-12-31 48 views
0

저는 제품을 만드는 학습 개발자입니다. & 제가 근무하는 회사의 재고 추적 플랫폼과 레일즈 어플리케이션은 Products 테이블을 가지고 있습니다. Products 테이블 내에서 기본 항목의 무리입니다 등 SKU, Description, UPC, Manufacturer, 같은가짜 테이블 엔트리

내가 뭘 원하는 것은에 text_area 같은으로 사용자 정의 매개 변수를 삽입 할 Create 페이지 내 옵션을 가지고있다 Voltage 열에서 이익을 얻을 수있는 작은 제품 세트 만 있고 덜 사용되는 옵션이 많아서 마이그레이션을 수행하지 않으려는 경우와 같이 제품 별 항목을 작성하십시오.

'Voltage|120 Volts' 
'Housing Material|Steel' 
'Duct Size|4"' 

을하고 이러한 제품의 Show 페이지에서 자신의 행 수 : 내가 뭘 떠올하고 있습니다.

이미이 작업을 수행 한 보석 또는 템플릿을 알고있는 사람이 있습니까? 아니면 자신이 깊은 곳에서 다이빙을해야합니까? 나는 이것이 내 스킬 셋에서 벗어난 것을 두려워한다.

답변

2

마이그레이션에 하나의 hstore 열을 포함 할 수 있습니다.이 열을 사용하면 단일 열에 여러 동적 값을 해시로 저장할 수 있습니다.

here에서 hstore에 대해 더 자세히 읽을 수 있습니다.

테이블에 제품의 동적 변형을 저장하기 위해 hstore를 사용했습니다.

+0

응답 해 주셔서 감사합니다. hstore에서 찾을 수있는 모든 예제에서 쿼리 할 때 키가 미리 정의되어 있다고 가정합니다 (예 : User.where ("preferences? : key", key : "github")'. 칼럼에있는 어떤 키/값 쌍에 대해서'each' 루프를 수행 할 수 있습니까? –

+0

예. hstore 열이 where 쿼리의 일부가 아닌 경우 단순히 hstore 열에 .each를 직접 사용할 수 있습니다. 예를 들어 볼 수 있습니다. hstore 열을 포함하는 사용자 개체가있는 경우. 이처럼 반복 할 수 있습니다. user = User.where ("사용자 쿼리") #code user.prefrences.each do | key, value | # 사용자 코드 끝 hstore에는 해시 데이터 구조의 모든 속성이 있습니다. –

+0

좋아, 올바른 방향으로 안내해 주셔서 감사합니다. –