Jquery 如何使用视图类方法将poirot模板对象添加到DOM中-Mustache&;轨道3

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

我有一个rails 3应用程序,它通过ajax获取“post”,并将返回的json插入到mustache模板中,我用于客户端和服务器端模板制作,但在ajax调用后,使用我定义的视图类方法呈现模板时遇到了问题

在rails中从服务器渲染mustache模板时,这些方法可以很好地工作,但在javascript模板中这些方法不起作用,我不确定以后如何在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
…并非所有视图类方法都可用

那么,我如何从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);