0

임은 많은 사용자와 함께 한 작업을 생성 한 형태를 추가하는 버튼을 만들려고 작동하지 않습니다, 나는이 넣어 레일즈에 표시되는 내용 :는 레일과 HTML을 생성하고 JQuery와

< %= select_tag 'user_id_4',options_for_select(User.all.map { |u| [u.email,u.id] }) %><%= select_tag 'user_id_3',options_for_select(User.all.map { |u| [u.email,u.id] }) %><%= select_tag 'user_id_2',options_for_select(User.all.map { |u| [u.email,u.id] }) %> 

이 코드를 레일스에 표시하려면 어떻게해야합니까?

UPDATE :

난이 망가 전에, 실행 내 .html.erb에 코드 jQuery를 넣어 시도

이 application.js에 있었다 :

<script type="text/javascript"> 
$(document).ready(function() { 

    var i = 1; 
    $("#more").click(function(){ 
     i++; 
     $("#more").after("<%= select_tag 'user_id_"+i+"',options_for_select(User.all.map { |u| [u.email,u.id] }) %>"); 

    }); 


}); 


</script> 
+0

당신은 루비 인터프리터를 통해 코드를 실행해야합니다. 파일의 이름을'.erb' 확장자로 변경하십시오. – silasjmatson

답변

1

이의 뭔가를 해보자, 그것은 야생 추측입니다 만 나는 그것이 당신의 필요에 대답하기를 바랍니다. 당신은 새로운 응용 프로그램에서 이것을 시도 할 수 있습니다. 사용자 모델을 만들고 데이터를 입력하고 애셋 그룹에 'jquery-rails'을 추가하십시오. bundle install을 실행하고 서버를 다시 시작하십시오. 당신의 자산/자바 스크립트에서

이/를 application.js, 다음 줄 적어도이 있는지 확인 : 당신의 users_controller.rb에서

//= require jquery 
//= require jquery_ujs 
//= require_tree . 

, 모든 사용자를 가져 오도록 인덱스를 방법을 정의

def index 
    @users = User.all 

    respond_to do |format| 
    format.html 
    format.js 
    end 
end 
데이터베이스를 렌더링하고 색인 템플릿을 렌더링하면 매우 간단합니다.

뷰/사용자의보기 파일을 편집하고 index.html.erb인지 확인하십시오. 브라우저에서 localhost : 3000/users에 액세스하려고하면이보기가 표시됩니다 (세부 사항 : HTML 요청을 얻습니다). 당신의 관점에서 HTML과 embed ruby를 쓰겠습니다. 평소와 똑같은 방법입니다. 지금은 단순히 사업부를 만들고 그것에게 ID를 부여은 "더"당신은 또한 remote

<%= link_to 'click me', users_path, remote: true %> 

그런 다음 뷰/사용자하고 이름을 하는 index.js에 새로운 뷰 파일을 만들 속성 링크를 배치 .erb. 확장 프로그램이 변경된 것을 확인 했으므로 js.erb 대신 html.erb 대신 사용합니다. 자세히 : 사용자가 사용자 # index 경로로 페이지가 자바 스크립트 요청 (이 경우 GET JS)을 수행하면 index.js.erb보기로 응답합니다. 여기서 큰 멋진 점은 브라우저에서 실행될 자바 스크립트 코드를이 뷰에 작성할 수 있다는 것입니다.

당신은 우리가 remote: true을 링크에 추가 한 것을 기억하십니까? 레일스가 JS 요청을하는 링크를 일반에게 알려줍니다. 마법.

이제는 views/users/index.js.erb 파일에 자바 스크립트 코드를 작성하면됩니다.의 슈퍼 간단한 일부터 시작하자 :

alert('Hello'); 

이 페이지로 이동 (일반적으로 로컬 호스트 : 3000/사용자)하고 '클릭'링크를 클릭, 당신은 자바 스크립트 경고 상자가 표시가 나타납니다.

두 번째 테스트를 수행하고 루비 코드를 통합 해 봅시다. 이하여 당신의 보기/사용자/index.js.erb의 내용을 변경합니다

alert('Ruby compute: <%= 1+1 %>'); 

그리고 웹 페이지에서

, 당신은 '2 루비 계산'테스트와 경고를 볼 수 있습니다. 당신은이 기술을 당신의 어플리케이션에서 당신의 경우에 적용시켜야합니다.

같은 기술은 (그러나 더 나은 설명과 함께)이 railscast에서 찾을 수 있습니다 : http://railscasts.com/episodes/136-jquery

+0

도움 덕분에, escape_javascript에 문제가있었습니다. 덕분에 사용자를 추가하는 동적 양식이 어떻게 작동 하는지를 알 수 없으므로 이론상 너무 단순합니다. 한 단추를 클릭하면 한 사용자를 추가하는 양식이 생성됩니다. , 하나 선택, buttom은 'more'입니다. 나는 이것을 어떻게 만드는지 모르겠다. 어떤 도움이된다면, 나는 매우 대단히 감사한다. 내게는 매우 복잡하다. – overallduka

+0

http://railscast.com에서 비디오를 볼 수있다. . 양식에 대한 정보도 있습니다. 내 대답을 보상하는 것을 잊지 마라, 그것이 규칙이다 :) – Benj