我有一个注释,它具有一定数量的属性。它还具有关联的标签。我一直在使用gon使此变量可用于页面的javascript文件(使@ note.attributes可用于此页面)。

我可以轻松地输出便笺属性,即实例化:

 gon.note = @note.attributes


我可以输出其内容:

 alert(gon.note.content)


但是,这不会使便笺的标签通过..例如,我不能这样做:

 alert(gon.note.tags)


如果我想显示笔记的标签,但是我想通过gon.note使它们通过而不是使整个其他变量成为gon.tags,该怎么办。我该怎么做(可能是某种联接或包含)?我想这样做,是因为这样可以更好地显示多个便笺。

最佳答案

如果您的@note.tagshas_many关联(不是简单的数组),则gon不知道如何序列化Tag实例的数组。

除了引入另一个变量,您什么也不能做:

# controller
gon.note_tags = @note.tags.map &:attributes

# JS
var first_tag_name = gon.note_tags[0].name;


如果您需要序列化太多的AR对象,则可能要使用Rabl,因为gon支持Rabl。

关于jquery - 如何在Rails/jQuery中使用gon包含关联对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9930684/

10-10 06:07