2015-01-09 1 views
3

가 나는 LINK_TO와 text_field_tag이 레일. 어디에 내가 respond_to 블록을 사용하여 브라우저로 스크립트를 되돌릴 수 있는지.추가 데이터는

이 요청에 text_field 값을 추가하는 가장 좋은 방법은 무엇입니까?

그래서 컨트롤러에서 params hash를 통해 액세스 할 수 있습니다.

가장 좋은 방법은 UJS를 사용하는 가장 깨끗한 방법입니다. 일부 아약스 보았다 : 콜백하지만 요청에 데이터를 추가하는 방법을 알아낼 수 없습니다.

JS 용 커피 스크립트를 사용하고 있습니다. 이 코드는 작업을 만드는 더 큰 형식의 일부입니다. 작업 has_many 요청자. 이 코드는 텍스트 필드에 입력 된 전자 메일 주소를 기반으로 요청자 목록을 채 웁니다. 양식을 제출하면 요청자가 작업에 연결됩니다. 그 이유는 내가 양식 안의 양식을 사용할 수 없기 때문입니다.

+3

팁 : 코드 블록으로 텍스트 서식을 지정하고 관련 텍스트를 선택한 다음 ctrl + k를 누르거나 블록의 각 줄 앞에 4 개의 공백을 추가하십시오. "인라인"코드를 원하면 backticks를 사용하십시오. – MrYoshiji

+1

양식을 사용하고 싶지 않은 이유가 있습니까? – ptd

+0

@MrYoshiji 고맙습니다. 나는 4 개의 공백으로 시도했지만 div를 좋아하지 않아 코드 구문을 사용하기로 결정했습니다. 나는 ctrl + k에 대해 몰랐다. – Kocur4d

답변

1

charlietfl 제안에 이어 UJS 소스 코드 (매우 짧음 ...)를 살펴 보았습니다.

나는이 솔루션과 함께 올라와있다 :

당신은 원격 이 필요합니다 : 귀하의 링크를 사실이 UJS 수 있도록.

당신은 당신의 js에이 코드를 추가해야합니다/커피 파일

ready = -> 
    $("#requester_btn").on "ajax:before", (event, xhr, settings) -> 
    $(this).data('params', $("#requester_field").serialize()) 
    return 

$(document).on("page:change", ready) 

이 UJS 할 수 있도록 할 text_field의 직렬화 된 값으로 링크 데이터 PARAMS 추가 (코드는 준비가 DOM에 대한 turbolinks 가정)의 마법.