2011-07-26 9 views
0

버튼을 눌렀을 때 Ruby 기능을 실행할 수 있도록 레일즈 코드를 html.erb에 어떻게 포함시킬 수 있는지 궁금합니다. 내가 봤어, 그리고이 가능하지 않다면, 어떻게 내가 Ruby on Rails 데이터베이스 내부 변수를 업데이 트하는 JavaScript 함수를 실행할 수 있습니까?버튼 클릭시 Ruby on Rails 코드 실행

+0

귀하의 루비 기능은 무엇을 할 계획입니까? – Jeriko

+0

데이터베이스의 변수를 1 씩 증가시킵니다. – jon

답변

12

Using AJAX with JS

는 우리가 웹이 어떻게 작동하는지에 대해 조금 이야기 할 필요가 있다고 생각합니다. 걱정 마; 이것은 많은 사람들이 처음 웹 응용 프로그램을 만들 때 혼란 스럽습니다.

두 가지 유형의 코드가 있습니다. 첫 번째 유형은 서버 측 코드이며 서버에서 실행됩니다. 이 경우 Ruby 코드이며 사용자는이를 볼 수 없습니다. 이 서버 측 코드 클라이언트 측 코드 인 두 번째 유형의 코드을 생성합니다. 이 경우 자바 스크립트 코드이므로 브라우저에서 이해할 수 있습니다. 사용자는이를보고 심지어 수정할 수 있으며 사용자의 컴퓨터에서 실행됩니다.

데이터베이스가 서버에 존재하기 때문에 공개적으로 액세스 할 수 없기 때문에 서버 측 코드을 사용하여 데이터베이스와 상호 작용해야합니다. 사용자 브라우저에서 실행되는 코드는 데이터베이스와 직접 상호 작용할 수 없으므로 여기에 일종의 "접착제"기술을 사용해야합니다.

이렇게하는 한 가지 방법은 AJAX 요청입니다. 이것은 Javascript 코드가 브라우저에 서버에 메시지를 보내고 응답을 기다리는 경우입니다. 이것은, 예를 들어, 버튼 클릭으로 일어날 수 있습니다. 그런 다음 서버는 평소처럼 요청을 처리하고 데이터베이스와 상호 작용하며 결과를 브라우저로 다시 보낼 수 있습니다. 그러나 사용자가 보게되는 것은 단추를 클릭하는 것이 예상 한 동작을 취하는 것으로 모든 것이 중요하다는 것입니다.

레일즈 애플리케이션에서 AJAX를 구현하는 방법은 몇 가지가 있습니다. Rails에는 Rails 2에서 button_to_remote, 또는 레일 3에서 :remote 옵션을 사용하는 button_to 옵션을 찾아 볼 수있는 몇 가지 내장 메소드가 있습니다. 이는 프로세스를 간소화하는 데 도움이됩니다. 또는 AJAX 코드를 직접 작성할 수도 있습니다. 그래도 Googling "AJAX tutorial"도 좋은 출발점이 될 것입니다. 레일즈 헬퍼부터 시작 하겠지만, 보통 초보자에게는 쉽다.

행운을 빈다.

1

JS AJAX 요청을 사용하여 백엔드 ERB 파일을 요청하면 데이터베이스에 액세스 할 수 있습니다.
Using AJAX in jQuery