我有一個rails 3應用程序通過ajax抓取'post',並將返回的json插入到鬍鬚模板中,我使用Poirot客戶端和服務器端模板,但我在使用我定義的視圖類方法進行ajax調用後呈現模板時出現問題。如何添加poirot模板對象與視圖類的方法DOM - Mustache&Rails 3
從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
和我的模板的樣子:
<h1>{{ title }}</h1> //posts title
<p>Author: <a href="{{ user_url }}"/>{{ user_name }}</a>
這工作得很好,當我剛:
<%= render 'post' %>
...所有的定義包括在內,並按照我的預期輸出。
但是,當我從渲染JavaScript的這個模板:
poirot.post(data)
...所有的視圖類方法不可用。
那麼如何從js模板中提取數據並將其作爲普通html /鬍鬚插入?
我覺得像這樣的工作:
var html = poirot.post(data)
$('#showPost').append(html);
但是我還是沒有視圖類方法的模板。我對js很新,所以任何幫助都會很感激。
感謝