일반적으로 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 오류가 발생했습니다. 좋은 파일 구성을 위해이 코드를 뷰 파일에 직접 넣고 싶지 않습니다. 이 코드를 구현하는 더 좋은 방법이 있습니까?
당신은 각각을 할 수 있습니다
"내가 권장하지 않는"보기의 맨 아래에 다음과 같이 배치합니다.
: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])
)
또는 다음과 같이 데이터 대상 속성을 추가하고 자산에서 호출합니다.
보기에서 데이터 타겟을 추가하십시오.
<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] 삭제
몇 마디 만하겠습니다