을 사용하여 제출 단일에서는 여러 기록을 만들어가 작동하는 다음과 같은 형식 : 여기 레일 : 다중 선택 필드
<%= form_for @task do |f| %>
<%= f.error_messages %>
<p>
<%= f.label :name %><br />
<%= f.text_field :name %>
</p>
<p>
<%= f.label :color_id %><br />
<%= f.text_field :color_id %>
</p>
<p><%= f.submit %></p>
<% end %>
내 모델입니다 : 내가 실패되었습니다 무엇
class User < ActiveRecord::Base
has_many :tasks
end
class Task < ActiveRecord::Base
belongs_to :user
attr_accessible :name, :user_id, :color_id
end
class Colors < ActiveRecord::Base
end
이 (가)이 변경 중
<%= f.label :color_id %><br />
<%= f.text_field :color_id %>
(복수 선택 가능)
나는이 정직 할 것이라고 생각하지만 난 때이 :<%= f.select(:color_id, [['Red', '1'],
['Blue', '2'],
['Yellow', '3'],
['Green', '4'],
['White', '5']
],{ :prompt => "Please select"},
{ :multiple => true, :size => 5 }
) %>
양식은 마우스 오른쪽 보이지만, 그것은 중요하지 않습니다 제출 때 (단식 선택 또는 복수 선택 중 하나를) 선택한 항목 항상 DB의 color_id 셀에 1을 보냅니다. 아무것도 선택하지 않으면 필드가 테이블에서 비어 있습니다.
내가 원하는 것은 color_id 셀에 color_ids를 전송하지만 각 작업 및 관련 색에 대해 별도의 행을 추가한다는 것입니다.
양식을 사용하여 빨간색과 파란색을 선택하면 작업 테이블에 두 개의 행이 있고 color_id를 저장하는 열은 빨간색 ID가 한 행에 있고 파란색 ID가 다른 행에 있습니다.
나는 컬렉션과 다양한 관계 (has_many 등)를 사용해 보았지만 성공하지 못했습니다.
도움을 주시면 감사하겠습니다.
결과가 두 개의 새로운 작업 인 빨간색과 파란색 중 하나 또는 빨간색과 파란색 두 가지 색상과 관련된 작업 중 하나가 될지 확실하지 않습니다. –
color_id가 정수입니까? ID 배열 – fatfrog