ajax를 통해 'post'를 가져 와서 반환 된 json을 콧수염 템플릿에 삽입하는 레일 3 앱이 있습니다. 두 가지 모두에 Poirot을 사용하고 있습니다. 클라이언트 및 서버 측 templating하지만 Ajax 호출 후에 템플릿을 렌더링하는 데 문제가 있습니다. 정의 된 뷰 클래스 메서드가 있습니다.poirot 템플릿 객체를 뷰 클래스 메소드 -Mustache & Rails 3와 함께 DOM에 추가하는 방법
레일에서 서버의 콧수염 템플릿을 렌더링 할 때 메서드가 제대로 작동하지만 자바 스크립트 템플릿에서 메서드가 작동하지 않고 js 템플릿 외부의 js 템플릿에 데이터를 삽입하는 방법을 잘 모르겠습니다. 나중에.
내보기 클래스처럼 보이는 경우module Posts
class PostView < Poirot::View
def user_url
user_path(post.user_id)
end
def user_name
post.user.name
end
end
end
내 템플릿은 다음과 같습니다
<h1>{{ title }}</h1> //posts title
<p>Author: <a href="{{ user_url }}"/>{{ user_name }}</a>
이 잘 작동 할 때 나는 단지 :
<%= render 'post' %>
... 모든 정의가 포함되어 있으며 예상대로 출력됩니다.
하지만 자바 스크립트에서이 템플릿을 렌더링 할 때 :
poirot.post(data)
이 ... 모든 뷰 클래스의 방법을 사용할 수 없습니다입니다.
그래서 js 템플릿에서 데이터를 추출하고 일반 html/콧수염처럼 삽입합니까 ???
var html = poirot.post(data)
$('#showPost').append(html);
을하지만 여전히 뷰 클래스의 방법과 템플릿을 얻을 :
는이 같은 일이 일 거라 생각 했어요. 나는 js에 대해 아주 익숙해서 어떤 도움이라도 대단히 감사 할 것입니다.감사