Jquery 如何使用视图类方法将poirot模板对象添加到DOM中-Mustache&;轨道3
我有一个rails 3应用程序,它通过ajax获取“post”,并将返回的json插入到mustache模板中,我用于客户端和服务器端模板制作,但在ajax调用后,使用我定义的视图类方法呈现模板时遇到了问题 在rails中从服务器渲染mustache模板时,这些方法可以很好地工作,但在javascript模板中这些方法不起作用,我不确定以后如何在js模板之外渲染插入js模板的数据 如果我的视图类如下所示:Jquery 如何使用视图类方法将poirot模板对象添加到DOM中-Mustache&;轨道3,jquery,ruby-on-rails-3.1,mustache,Jquery,Ruby On Rails 3.1,Mustache,我有一个rails 3应用程序,它通过ajax获取“post”,并将返回的json插入到mustache模板中,我用于客户端和服务器端模板制作,但在ajax调用后,使用我定义的视图类方法呈现模板时遇到了问题 在rails中从服务器渲染mustache模板时,这些方法可以很好地工作,但在javascript模板中这些方法不起作用,我不确定以后如何在js模板之外渲染插入js模板的数据 如果我的视图类如下所示: module Posts class PostView < Poirot::V
module Posts
class PostView < Poirot::View
def user_url
user_path(post.user_id)
end
def user_name
post.user.name
end
end
end
…并非所有视图类方法都可用
那么,我如何从js模板中提取数据并将其作为常规html/小胡子插入呢
我认为这样做会奏效:
var html = poirot.post(data)
$('#showPost').append(html);
但是我仍然得到没有视图类方法的模板。我是js的新手,因此非常感谢您的帮助
感谢poirot视图类只能由ruby解释,因此当从服务器呈现Mustach模板时,您可以访问视图类方法,但当通过javascript在客户端呈现模板时,您不再可以访问这些方法 js是Mustache模板语言的扩展。允许您编写在模板中使用的javascript帮助器方法
<%= render 'post' %>
poirot.post(data)
var html = poirot.post(data)
$('#showPost').append(html);