2013-07-09 62 views
0

我正在使用Sinatra和Datamapper。在我的應用程序的一部分中,我想動態地將新的<select>元素添加到充當表單的表格中。 <select>元素包含我的Personnel類中的所有元素。如果我在常規的ERB中這樣做,我會這樣做:在jQuery中使用erb標籤?

<select> 
<% @personnel.each do |p| %> 
    <option> <%= p.name %> </option> 
<% end %> 
</select> 

但是,在JQuery中這是行不通的。我想知道是否有什麼我可以做的動態添加<select>元素像上面那樣。

回答

1

顯然這個解決方案非常簡單。正如您通常所做的那樣,不應將我的Jquery腳本放入public目錄,而應將腳本編寫爲.erb模板的一部分。然後Sinatra負責生成用於插入的正確的HTML標籤。然後,您可以使用<script> </script>內的<% %>元素 - 完美地工作。

1

您還可以通過寫這樣的路線保持JS文件從HTML代碼中分離:

get '/myscript.js' do 
    content_type :js 
    erb :myscript 
end 

當然,這可以推廣,但我會離開,你;-)