이벤트의 이벤트 유형에 대한 선택 상자가 있습니다. 이벤트는 event_type에 속하며 event_type에는 많은 이벤트가 있습니다. 문제는 내가 그것을 제출할 때, 그것은 이벤트 유형의 ID가 아니라 그것의 이름을 제출하는 것입니다,레일에서 루비와 함께 선택 상자를 올바르게 사용하려면 어떻게해야합니까?
<%= f.select :event_type, options_from_collection_for_select(EventType.all, :id, :name, @event.id), :placeholder => 'Select an event type' %>
을하지만 : 여기에 내가 선택 상자가 무엇. 그럼 어떻게 이드가 아닌 이름을 제출하게할까요? 더 이상 코드를 볼 필요가 있다면 감사합니다
도움을 주셔서 감사합니다! created_type을 selected 액션에 넣을까요? – Snubber
selected_type은 이벤트 유형 값을 알고 있어야하므로 실제로 이벤트 값 중 하나 여야합니다. 그것은'belongs_to'와'has_many'를 각각 사용하여 event_type 클래스와 관계가 있어야하므로'@ event.event_type.id'를 사용하여 액세스 할 수 있습니다.그 작업이 완료되면 예, 이벤트 객체를 시작할 때 또는 편집 할 때 생성 액션에서 사용하십시오. – KappaNossi
릴레이션이 올바르게 설정 되었다면,이 스 니펫을 사용하여 삶을 편하게 만드십시오 :'<% = f.select : event_type_id, @ event_types.map {| t | [t.name, t.id]} %>'. 이것은 편집시에 자동적으로 올바른 옵션을 선택해,'Event.create (params [: event])'를 사용해 액션 내의 릴레이션을 포함한 오브젝트를 작성할 수 있도록합니다. 당신은 여전히 수동으로 내 게시물에서 정보를 사용하여 그것을 할 수 있습니다. – KappaNossi