Rails 애플리케이션에서 컨트롤러의 변수를 사용해야 할 때 자바 스크립트 코드를 어디에 넣을까요?

rocLv

일반적으로 javascript 파일은 app / assets / javascripts 폴더에 저장됩니다. 하지만 컨트롤러 instance_val을 사용해야한다면이 자바 스크립트 파일을 앞서 언급 한 폴더에 넣거나 자바 스크립트 코드를 뷰 파일에 스 니펫으로 넣어야할까요?

뷰에 슬라이더를 추가하려고합니다. jQueryUI를 사용하고 있습니다. 내 코드는 다음과 같습니다.

$ ->
$("#slider").slider(
 range: true,
 min: 0,
 max: <%= @t.amount %>,
 values: [0, <%= @t.amount / 2 %>],
 slide: (event, ui)->
     $("#range_from").val(ui.values[0])
     $("#range_to").val(ui.values[1])
 )

js 파일에서 @t를 사용하려고하는데 Nil Class 오류가 발생했습니다. 좋은 파일 구성을 위해이 코드를 뷰 파일에 직접 넣고 싶지 않습니다. 이 코드를 구현하는 더 좋은 방법이 있습니까?

Kimooz

당신은 각각을 할 수 있습니다

  1. "내가 권장하지 않는"보기의 맨 아래에 다음과 같이 배치합니다.

    :javascript
      $("#slider").slider(
      range: true,
      min: 0,
      max: <%= @t.amount %>,
      values: [0, <%= @t.amount / 2 %>],
      slide: (event, ui)->
         $("#range_from").val(ui.values[0])
         $("#range_to").val(ui.values[1])
      )
    
  2. 또는 다음과 같이 데이터 대상 속성을 추가하고 자산에서 호출합니다.

    보기에서 데이터 타겟을 추가하십시오.

    <div class="info" data-target="<%= @t %>"></div>
    

    그런 다음 자산에서 변수를 호출하십시오.

      t = $(".info").attr("data-target")
      $("#slider").slider(
      range: true,
      min: 0,
      max: t,
      values: [0, t/2],
      slide: (event, ui)->
         $("#range_from").val(ui.values[0])
         $("#range_to").val(ui.values[1])
      )
    

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관