我正在使用Sinatra和Datamapper。在我的应用程序的一部分中,我想动态地将新的<select>
元素添加到充当表单的表中。 <select>
元素包含Personnel
类中的所有元素。如果我在常规ERB中这样做,我会这样做:
<select>
<% @personnel.each do |p| %>
<option> <%= p.name %> </option>
<% end %>
</select>
然而,在JQuery中这不起作用。我想知道我能做些什么来动态添加<select>
元素,就像上面那样。
答案 0 :(得分:1)
显然,解决方案非常简单。不像往常那样将我的Jquery脚本放入public
目录,而是应该将脚本编写为.erb模板的一部分。然后Sinatra负责生成适当的HTML标签以便插入。然后,您可以使用<% %>
内的<script> </script>
元素 - 效果很好。
答案 1 :(得分:1)
您还可以通过编写如下路线将JS文件与html分开:
get '/myscript.js' do
content_type :js
erb :myscript
end
当然这可以概括,但我会把它留给你; - )