2012-09-26 3 views
0

사용자는 데이터베이스에 제출 된 프로젝트를 만들 수있는 응용 프로그램을 가지고 있습니다. 여기Ruby on Rails : 하나의 데이터베이스 항목으로 많은 필드 유형 저장

<div class="project_name"> 
    Project Name: 
    <%= f.text_field :project_name,:maxlength => 30 %> 
    </div> 

<%= label_tag :new_client, "Client:" %><br/> 
<%= text_field_tag :new_client, nil, :maxlength => 30%> 
Or 
<%= f.select(:new_client, Project.all.map {|p| [p.new_client]}.uniq, :prompt => "Select an new_client") %> 
</div> 

그들은 데이터베이스에 저장된 얻을 것이다 새로운 하나를 새 프로젝트 이름에 대한 텍스트를 제출 한 후 선택할 수있는 옵션 중 하나를 기존 클라이언트가, 또는 입력 할 수있는 옵션이 있습니다, 나중에 것 생성 된 다음 프로젝트의 드롭 다운에서 사용할 수 있습니다.

업계를 선택할 수있는 세 번째 옵션을 추가하려고합니다. 그러나 이번에는 사용자가 하나의 프로젝트에 대해 많은 산업을 선택할 수 있습니다. 이것에 대해 가장 좋은 방법은 무엇입니까?

가장 일반적인 산업이 다른 테이블에 미리 채워져있는 것으로 생각했습니다. 사용자가 다른 테이블을 원하면 다른 버튼을 클릭하여 다른 드롭 다운을 가져올 수 있습니다. 업계가 존재하지 않으면 텍스트 입력란에 프로젝트를 입력하여 프로젝트 항목과 함께 저장하고 다음 산업 사용자가 사용할 수있는 새로운 산업 테이블에 저장할 수 있습니다.

바라건대 누군가 나를 올바른 방향으로 안내 할 수 있기를 바랍니다. 나는 레일에 익숙하지 않으므로 쉽게 갈 수 있습니다.

답변

1

이 비디오를 확인해야합니다. http://railscasts.com/episodes/196-nested-model-form-part-1 이러한 상황에서는 기존 개체를 선택하기 위해 recordselect gem을 사용하고 jquery 템플릿을 사용하여 개체를 현재 양식에 추가하십시오. 하지만이 일을하기 위해서는 몇 가지 일을해야합니다. 대신 여러 개의 개체를 선택하려면 multiple => true 옵션을 사용하여 간단한 드롭 다운을 사용할 수도 있습니다. 이 작업을 수행하는 가장 좋은 방법은 그리 간단하지는 않지만 ... 중첩 된 양식을 사용하여 수행 할 수있는 작업을 파악하기 위해 레일스에서 ​​복잡한 양식 예제를 시작해야한다고 생각합니다.

+0

감사합니다. 건배 – Jazz