2010-03-23 3 views
1

나는 레일 애플 리케이션을위한 액체 템플릿 언어에서 찾고 있어요 :액체 템플리트에서 AJAX 호출을 수행 할 수 있습니까?

http://wiki.github.com/tobi/liquid/

내가 내 사용자는 AJAX 그냥 periodically_call_remote, observe_field을위한 레일 것과 같은 (통화를 할 수 있도록하고 싶습니다, 기타). 이것이 가능한가?

레일 도우미를 필터로 추가 할 수 있다고 가정하면 사용자는 AJAX 호출에서 반환되는 내용을 어떻게 수정할 수 있습니까? 그들은 서버의 rjs 파일이나 그와 비슷한 것을 수정할 수 없습니다. AJAX 호출이 JSON (렌더링 된 html 대신)을 반환 할 수 있다고 가정하고 자바 스크립트가이를 렌더링 할 수 있다고 가정합니다. 하지만 정확하게 작동하는 방법을 생각하는 데 약간의 문제가 있습니다.

누구든지이 예를 지적하거나 명확히하면 크게 감사하겠습니다. 감사!

답변

1

모든 사용자가 원하는대로 아약스를 호출하도록 허용하고 있습니까?
사용자를 신뢰할 수 없다는 것을 잊지 마십시오. 도메인 이름에 페이지를 요청할 수 있기를 정말로 원하십니까?

나는 그들이 일부 페이지 만 요청할 수 있기를 원한다고 생각한다. 정의 된 URL 목록입니다.

그러면 URL 당 하나의 필터를 만들어 콘텐츠를 반환 할 수 있습니다.
따라서 사용자가 자신의 템플릿 않는 경우 : 할 것입니다

{{ get_users }} 

, internaly, 모든 사용자의 목록을 검색하는 아약스 호출.

개발자 만 작업해야하는 작업을하는 경우 일반이라고 생각할 수 있습니다.
그러나 사용자가 응용 프로그램의 코드를 변경할 수 있도록 허용하는 경우 사용자가 응용 프로그램의 코드를 변경하면 모든 것을 해킹하거나 중단시키지 않도록 제한해야합니다.

+0

좋은 점 Damien. 몇 생각. 1. 보안에서 인증 된 API 호출로 보안 문제를 해결할 수 있습니다. 2. ajax 호출을 수행하는 필터로 제안한 내용. 실제로이 점이 더 마음에 들지만 반환 된 데이터를 사용자 정의 방식으로 어떻게 렌더링 할 것입니까? get_users 명령이 JSON을 리턴하고 사용자가 원하는대로 작업하도록 할 수 있습니까? 도움을 주셔서 감사합니다. 여기에 멋진 경험이 있다고 할 수 있습니다. –

+0

나는 액체에 익숙하지 않다. 그러나 필터가 루비 배열을 반환하면 루프를 반복하여 원하는 방식으로 표시 할 수 있습니다. –

관련 문제