정말 간단합니다. 컨트롤러 또는 모델에서 어떤 로직도 수행 할 필요가 없습니다. 당신은 방금 등록 양식에서 다음을 수행하십시오
<%= form_for(resource, :as => resource_name, :url => registration_path(resource_name)) do |f| %>
위의 라인은 단지 양식을 작성 form_for
입니다. 비계, 또는이 경우, Devise가 이것을 만들 것입니다. 끝에 do |f|
을 기억하십시오.
<%= devise_error_messages! %>
<%= f.label :Whats_your_goal? %><br />
<%= f.collection_select :user_goal_id, UserGoals.all, :id, :name, { :include_blank => ""}%>
첫번째 라인
필드
번째 라인 드롭 다운이며 단지 라벨이다. f.collection_select
은 양식 생성기에 이것이 옵션 드롭 다운 목록이 될 것이라고 알려줍니다.
:user_goal_id
은 user_goals
표에서 목표의 foreign key
을 기록하려는 사용자 테이블의 필드 이름입니다.
UserGoals.all
은 드롭 다운 목록을 채우려는 데이터베이스 테이블의 이름입니다. .all
내가 :id,
자신의 데이터베이스 ID 번호 또는 프라이 머리 키를 기준으로 항목을 끌어 생각
해당 데이터베이스 테이블에서 모든 항목을 원하는 말한다, 그리고 :name
는 설명을 반대하거나, 뭔가를 나에게 테이블의 이름 열을 제공 말한다 .
마지막으로 { :include_blank => "" }
은 드롭 다운의 맨 위에 빈 공간을 생성하기 때문에 기본 선택 사항이 없습니다. 원하는 경우 ""
사이에 메시지를 넣을 수도 있습니다.
나는 이것에 대한 간단한 설명을 찾는 데 어려움을 겪었다. 희망을 갖고 다른 사람이 유용하다고 생각하기를 바랍니다.
감사합니다. 실제로 이것은 제가 찾고자했던 것과 정확히 일치합니다. Active Record Association 기본 레일 가이드가 필요했습니다. – Arel
바로 가기 : http://guides.rubyonrails.org/association_basics.html 그리고 8 페이지 분량의 비디오가 있습니다.이 중 90 %는 무료입니다. http://railscasts.com/?tag_id=2 – Benj