在jquery中使用erb标签?

时间:2013-07-09 09:43:12

标签: jquery ruby sinatra erb

我正在使用Sinatra和Datamapper。在我的应用程序的一部分中,我想动态地将新的<select>元素添加到充当表单的表中。 <select>元素包含Personnel类中的所有元素。如果我在常规ERB中这样做,我会这样做:

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

然而,在JQuery中这不起作用。我想知道我能做些什么来动态添加<select>元素,就像上面那样。

2 个答案:

答案 0 :(得分:1)

显然,解决方案非常简单。不像往常那样将我的Jquery脚本放入public目录,而是应该将脚本编写为.erb模板的一部分。然后Sinatra负责生成适当的HTML标签以便插入。然后,您可以使用<% %>内的<script> </script>元素 - 效果很好。

答案 1 :(得分:1)

您还可以通过编写如下路线将JS文件与html分开:

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

当然这可以概括,但我会把它留给你; - )