0

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

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

但是,在 JQuery 中这是行不通的。我想知道我是否可以做任何事情来动态添加<select>上面的元素。

4

2 回答 2

1

显然,解决方案非常简单。与其像往常一样将我的 Jquery 脚本放入public目录中,不如将脚本编写为 .erb 模板的一部分。然后 Sinatra 负责为插入生成适当的 HTML 标记。然后,您可以使用-<% %>里面的元素<script> </script>完美地工作。

于 2013-07-09T09:47:36.430 回答
1

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

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

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

于 2013-07-09T14:34:48.000 回答