在Javascript中使用select2迭代ruby对象
Iterating over a ruby object in Javascript using select2
我正在使用select 2 gem的rails应用程序。我有选择2工作,但我需要能够输入正确的数据到函数的数据部分,要做到这一点,我想迭代一个名为MagazineStation的对象。我试了很多不同的东西,但都不行。因此,在函数的数据部分,我想使用ruby遍历MagazineStation对象,输入id和名称。
<head>
<script>
$(document).ready(function() {
$("#e11").select2({
placeholder: "Select a Station",
allowClear: true,
multiple: true,
data: [{id: 0, text: 'story'},{id: 1, text: 'bug'},{id: 2, text: 'task'}]
});
});
</script>
</head>
<input id="e11">
你可以像这样用ERB输出ruby到你的javascript中:
<%= MagazineStation.all.map { |ms| { id: ms.id, text: ms.name } }.to_json %>
.to_json
部分是将数组字符串输出到模板中的关键(并且以javascript友好的方式)。
但是你需要确保你把它放入你的页面内的脚本中。因此,它可能更容易通过创建一个常规的选择,例如一个collection_select助手,然后把数据转化为页面加载select2元素。
您可以这样做。迭代.erb文件中的Ruby对象。
data: [
<% @Magzinestation.each do |t|%>
{"<%=raw t[0] %>",<%=raw t[1]%>},
<%end%>]
脚本将data[]替换为data[{data 1}, {data 2}…)
相关文章:
- 如何在javascript中迭代数字列表
- JS:检查URL中的参数,然后迭代一个参数为var的函数
- 如何迭代Array.prototype函数
- 如何使用jquery迭代具有相同属性的html元素并查找onclick事件
- 在ejs-partial中对JSON对象进行迭代
- 如何在DataTables 2.1中迭代对象数组
- 使用递归属性迭代保留属性结构
- 正在停止.在jquery中的特定时间间隔内,每次迭代的每次执行
- 如果30秒未单击,请应用CSS一次,将其删除,然后重新迭代
- 主干-从模板中迭代的集合中获取特定的模型
- 创建一个方法,通过一个窗口进行迭代并获取Titanium中的所有控件
- 什么's是在javascript中迭代项的最佳方式
- 为什么这只是迭代 HTMLCollection 的奇怪元素
- 是否“;对于的“;循环迭代遵循JavaScript中的数组顺序
- Babel编译错误:找不到模块核心js/library/fn/get迭代器
- 在es6中,将带有回调的事件侦听器设置为可迭代的
- jQuery-迭代不正确?(太长,无法执行)
- Rails:试图在javascript(Google Charts API)中嵌入一个adv-ruby(each+迭代器
- 使用Ruby数组使用JS在视图中进行迭代和显示
- 在Javascript中使用select2迭代ruby对象