2011-08-08 2 views
0

레일즈 3와 자바 스크립트로 동적 인 폼을 만들려고합니다. 사용자가 요청하면 새 필드를 추가하려고합니다. 그러나 나는 자바 스크립트로 만든 새로운 필드의 값을 잡을 수 없다는 것을 알았다. form_tag 및 text_field_tag를 사용하여 ID의 hab_0, hab_1, hab_2를 사용하여 양식을 만듭니다. 그러나 JavaScript 함수 (예 : hab_3)를 사용하여 새 필드를 생성하면 컨트롤러에서 값을 catch 할 수 없습니다. JS 함수는 새로운 필드를 추가하기 만합니다.레일즈와 자바 스크립트가있는 동적 필드. 가치를 잡는 방법?

그래서 html_0 및 hab_1이라는 ID를 가진 필드를 form_tag을 통해 만들면 컨트롤러의 값을 params [: hab_0] 및 params [hab_1]로 잡을 수 있습니다. 하지만 JS 함수를 사용하여 새 필드 hab_2를 생성하면 params [: hab_2] = nil이 표시됩니다.

이것은 Rails가 CSRF 공격을 막기 위해 사용하는 secret_token 값과 관련이 있다고 생각합니다. 그러나 확실하지 않습니다.

읽어 주셔서 감사합니다. 네가 나를 도울 수 있기를 바랍니다.

답변

0

자바 스크립트 코드를 표시하는 것이 좋습니다.
시도 :

var input = document.createElement('input') 
input.name = 'hab_2' 
input.id='hab_2' 
document.body.appendChild(input) 
관련 문제