2012-09-10 2 views
1

일반적으로 레코드를 한 개만 만들 수 있다면 양식에서 한 번에 한 명의 사용자를 말하십시오. 하지만 단일 양식에서 여러 명의 사용자를 만들고 싶다면 어떻게해야합니까? 다른 모델과 연관성이 없습니다. 내가 어떻게 할 수 있니?단일 양식의 단일 테이블에 여러 레코드 삽입

답변

3

당신의 배열과 모양을해야 당신을 도움이 될 것입니다 사용자 PARAMS .eg UsersController에서

<%= from_tag '/users/create_multiple' do %> 
<%= text_field_tag "users[][name]" %> 
<%= text_field_tag "users[][name]" %> 
<% end %> 

:

def create_multiple 
params[:users].each do |user| 
    user = User.create(user) 
end 
end 

원하는대로 유효성 검사 코드를 추가 할 수 있습니다, 012 이 방법으로 다음과 같은 새로운 사용자를 생성하는 경우, exemple에 의해, http://guides.rubyonrails.org/form_helpers.html#basic-structures

+0

덕분에 도움 – Abhimanyu

+0

에 대한 아마르 여러 레코드에 대한 양식 PARAMS을 통과하지만,하는 방법을 여기 3,516,방문, 당신이 이름에 특수 문자를 사용할 수 없다는 것을 가정하여, 각 사용자의 유효성을 검사합니다 User1, User2, Us & r3, User4 @를 작성하면 사용자 1과 2가 작성되고 사용자 3과 4는 작성되지 않지만 사용자 1과 2와 같은 양식으로 재 지정됩니다. 이 문제를 해결하기위한 레일 논리는 무엇입니까? 나는 "validation before"를 사용하는 것과 같은 것을 성공없이 시도했다. 어떠한 제안? – drmwndr

+0

@drmwndr 만들기 전에 사용자를 확인하고 어레이 표시 오류 메시지에 저장할 수 있습니다.이 사용자는 유효하지 않습니다. 사용자 데이터와 함께 csv를 업로드합니다. 오류 메시지로 유효하지 않은 UI를 렌더링합니다. – Amar

1

하나의 옵션은 각 모델에 대해 원하는만큼의 양식을 작성하고 Jquery로 모든 양식을 한 번 제출하는 것입니다.

이 링크를 제출 다양한 형태

Multiple submit buttons/forms in Rails

관련 문제