컨트롤러에서 레일즈 애플리케이션의 자바 스크립트 파일로 데이터를 가져 오려고합니다. html은 select 옵션과 organization id를 매개 변수로 사용하여 즉시 ajax 요청을 호출합니다. before_filter에서 AJAX 요청이 레일즈 애플리케이션의 컨트롤러에서 인스턴스 변수를 가져올 수 없습니다.
나는def set_org_id
if params[:id].present?
@org_id = klass.find(params[:id]).id
else
@org_id = 0
end
end
을 그리고 JS 파일에 내가 가진 :
$.ajax({ url: "/admin/analytics/filter",
type: 'GET',
data: {
time_frame: selectedId,
organization_id: <%= @org_id %>
}
})
만약 내가 하드 코드 ORGANIZATION_ID 모든 것이 잘 작동하지만 같은 숫자 나는 통과 할 때 전에 필터에서 데이터, 나는 페이지에 아무 ID와 끝.
인덱스 경로가 admin/analytics/인 것을 추가해야합니다. 필터 조치는 admin/analytics/filter입니다. 사용자는 결코 해당 페이지로 이동하지 않으며 Ajax 만 필터 경로를 조회하여 관련 데이터를 가져옵니다. 인스턴스 변수가 설정되기 전에 ajax 요청이 전송되고있을 수 있습니까? 그렇다면 적절한 해결책은 무엇입니까?