2014-02-26 2 views
0

부분을 사용하지 않고 jQuery 추가 메서드 내에 레일스 루프를 삽입하는 방법이 있습니까? 저는 여기에 구현하기 위해 노력하고있어 코드는 다음과 같습니다jQuery 추가 메서드 내에서 [each..do] Rails 삽입 루프

$('#selector').append('<%=j @stuff.each do |item| %>test<%=j end %>'); 

나는 부분에 레일 루프를 넣어 Append 메서드에 부분 호출 할 수 있음을 알고 - 그 코드가 작동합니다 (나는 그것을 테스트했습니다) . 그러나 내 응용 프로그램의 목적을 위해, 나는 append 메서드에서 partial을 호출하지 않는 것을 선호합니다.

+1

당신을 무엇을 : 이것은 당신이 자산 파이프 라인의 외부 JS를로드하는 경우, 왜 당신이 시도하지 않는

는 자산 파이프 라인에 ERB의 이러한 종류의 코드를 호출 할 수 없음을 의미 추가해야합니까? 배열, 텍스트? '시험 '이란 무엇입니까? – apneadiving

+0

레일 루프 (".each" "do"루프)를 추가하려고합니다. "테스트"는 루프 반복 횟수를 알려주는 것입니다. 텍스트를 제거하고 내 질문의 코드에서 오류가 발생하는 것을 볼 수 있습니다. 반면에, 내가 부분적으로 모든 것을 채운 다음, append 메소드로 부분을 호출하면 모든 것이 작동합니다. – Vee

+0

처리 된 j는 어떻게 생겼을 까? – apneadiving

답변

1

js.erbviews 폴더에서만 작동합니다 (asset pipeline 아님).

#app/views/controller/your_js.js.erb 
<% @stuff.each do |item| %> 
    $('#selector').append('<%=j item %>'); 
<% end %> 
+0

감사합니다, 잔뜩! 당신의 솔루션은 매력처럼 작동했습니다. 나는 js.erb가 자산 파이프 라인에 의해 처리되었다는 것을 몰랐다. (아마 Rails 4에서 파이프 라인이 어떻게 작동하는지 이해하려고 노력해야한다.) 나는 그것이 내가 다루고있는 구문적인 문제라고 생각했지만 그렇지 않은 것처럼 보인다. 다시 한 번 감사드립니다! – Vee

+0

문제 없습니다. 도움이 되니 기쁩니다! 나는 전에도 같은 문제에 찔린 적이있다. –