0

사용자가 자신의 프로필에 "추가 정보"를 추가 할 수있는 기능을 구현하고 싶습니다. 교육 세부 사항에 대한 레이블과 학위가 세부 사항입니다어떻게 이것을 레일스에서 ​​구현할 수 있습니까?

Education : Degree 

: 여기에서 그는 세부의 레이블과 같은 실제 세부 사항을 만들 수 있어야합니다.

이 외에도이 세부 정보가 visible 또는 hidden이어야하는지 여부를 결정할 수있는 옵션도 있어야합니다.

어떻게 사용자 has_one 프로필과 연결하여 새 모델 프로필을 사용하여 구현할 수 있습니까?

새 세부 사항에 대한 레이블 및 텍스트가있는 경우 hash을 시도 할 수는 있지만 사용자가 세부 정보를 숨기거나 표시하도록하려면 사용자의 세부 정보를 받아야하기 때문에 값을 저장하기 위해 추가 필드가 필요할 수도 있습니다 (true 또는 false).

나는 모든 것을 함께 구현할 수있는 방법에 대해 정말로 혼란 스럽다.

구현 방법을 제안하고 사용자가 db의 schema을 변경하지 않고 새 세부 정보를 만들 때마다 모델을 업데이트하는 방법을 알려주십시오.

레일즈 3.2를 연구 중입니다.

답변

2

정말 (또는 나는 그것을 얻지 않는다) 문제를 볼 수 있지만하지 않습니다

은 왜 그냥 has_many user_id:integer name:string content:string visible:booleanAdditionalData을 만들 수 있습니까?

그래서 당신은 @user.additional_datas.visible을 통해 루프 (당신이 범위 scope :visible, where("visible = 1")을 정의 가정 할 수

추가 혜택 :.이 모델 형체를하고 여분을 만들 필요없이 앱에서 당신은 다른 것들에 대한 추가 정보를 추가 할 수 있습니다

유효성 검사를 위해 data_type 필드를 추가하고 데이터 유형 (URL, 전화 번호, 텍스트 등)에 따라 유효성 검사를 만들 수 있습니다. ..)

+0

그래서 당신에 따라 내가 모델 AdditionalData을 만들어 줄 필요가 사용자에 대한 연관성이 많으며 사용자가 새로운 세부 정보를 만들 때마다 레코드에 새로운 항목을 만듭니다. ? –

+0

예, 여기 있습니다. – pduersteler

+0

그래서 모델을 만드는 동안 사용자가 많은 관계가 있음을 지정할 수 있습니까? 다형성을 수행하지 않는 한 –

1

나는 pr을 보지 않는다 oblem도;

rails generate model UserDetails label:string value:string \ 
    visible:boolean user:references 

이있는이 같은 기록을 넣어 : 나는 해시 같은 표는이 같은 솔루션, 뭔가 있다고 생각

user.details.create(:label => 'Dog name', :value => 'Fuffy' :visible => false) 
관련 문제