2013-01-08 2 views
1

rhodes.There 기본적으로 내 화면에 두 개의 드롭 다운이 있고 선택한 값에 따라 데이터베이스에서 두 번째 드롭 다운의 값을 얻기 위해 아약스를 사용하고 있습니다 루비에 동적 드롭 다운을 구축하고있다. 첫 번째 dropdown..I에 ... ..아약스와 루비에 루비

자바 스크립트 코드 내가 사용하고 루비하는 초보자 오전 로즈 루비에서 아약스를 사용하는 방법에 대한 구문을 모르는

<script> 
$.post("/app/Settings/dropdown", 
    { 
    value:a 
    }, 
    function(data){ 
    alert(data); 
}); 
</script> 

- --- 부분 제어기 코드

def dropdown 
    @a = @params['value'] 
    puts @a; 
    if @a.eql?"Auto" 
    mystring="auto1|auto2|" 
    else 
    mystring="personal1|personal2|" 
    end 
end 

컨트롤러에 아약스 호출을 통해 전송 된 매개 변수를 얻을 수 있습니다. 내 질문은 컨트롤러에서 해당 아약스 호출에서 함수로 데이터를 보내서 해당 정보를 사용하여 동적 드롭 다운을 만들 수있는 방법입니다. ??

답변

0

당신은 당신의 컨트롤러에 render를 사용하여 JSON을 다시 보낼 수 있습니다

def dropdown 
    value = params[:value] 
    if value == "Auto" 
    @options = ["auto1", "auto2"] 
    else 
    @options = ["personal1", "personal2"] 
    end 
    render :json => @options 
end 

그런 다음 자바 스크립트를 사용하면 사용자가 수신이 데이터를 사용하여 드롭 다운을 업데이트합니다.

+1

5.4에서는 더 이상 작동하지 않습니다. 이 작품은 잘 - http://stackoverflow.com/questions/14208807/ruby-on-rhodes-using-ajax-call. –