Javascript CoffeeScript中阵列上的嵌套主干模型/循环

Javascript CoffeeScript中阵列上的嵌套主干模型/循环,javascript,ruby-on-rails,backbone.js,coffeescript,Javascript,Ruby On Rails,Backbone.js,Coffeescript,我正在创建一个基本的survey rails应用程序来学习嵌套模型。我正在使用主干关系来关联我的模型 我想我已经把它们正确地联系起来了,但是我正在努力展示调查中的每一个问题。在我的调查模板中,我可以做@survey.get'questions'。长度和长度是正确的,但出于某种原因。@survey.get'questions中的每个和for问题都会抛出一个错误 我还尝试了在视图本身中循环问题的方法,但这也会抛出一个错误 如果能帮我把这件事做好,我将不胜感激 survey_show.jst.eco模

我正在创建一个基本的survey rails应用程序来学习嵌套模型。我正在使用主干关系来关联我的模型

我想我已经把它们正确地联系起来了,但是我正在努力展示调查中的每一个问题。在我的调查模板中,我可以做@survey.get'questions'。长度和长度是正确的,但出于某种原因。@survey.get'questions中的每个和for问题都会抛出一个错误

我还尝试了在视图本身中循环问题的方法,但这也会抛出一个错误

如果能帮我把这件事做好,我将不胜感激

survey_show.jst.eco模板

<h2><%= @survey.get('title') %></h2>
<div class="row">
    <div class="col-md-8"
        <span class="pull-right">Number Taken: <%= @survey.get('number_taken') %>/<%= @survey.get('survey_limit') %></span>
    </div>
</div>
<ul class="list-group" id="questions">
<% @survey.get("questions").each %>
<li class="list=group-item">Derp</li>
<% end %>
</ul>
question.js.coffee问题模型

class SurveyMe.Models.Question extends Backbone.RelationalModel

   urlRoot: '/surveys'

   relations = [{
     type: Backbone.HasMany,
     key: 'answers',
     relatedModel: 'SurveyMe.Models.Answer'
     reverseRelation: {
        key: 'question',
        includeInJSON: 'id'
     }
   }]
survey_show.js.coffee调查节目视图

  class SurveyMe.Views.SurveyShow extends Backbone.View

  template: JST['templates/surveys/survey_show']

  initialize: ->
    @model.on('all', @render, this)
    @model.on('change', @alert, this)

  events: {
    'click #back': 'back'
  }

  render: ->
    $(@el).html(@template(survey: @model))
    #@model.questions.each(@addQuestion)
    this

  back: ->
    Backbone.history.navigate("surveys",true)

  alert: ->
    alert('changed titled')

  addQuestion: (question) ->
    view = new SurveyMe.Views.Question(model: question)
    @$('#questions').append(view.render().el)
问题视图

class SurveyMe.Views.Question extends Backbone.View

  template: JST['templates/surveys/question']

  tagName: 'li'

  className: 'list-group-item'

  events: 
    'click': 'edit'

  edit: ->
    Backbone.history.navigate("questions/#{@model.get('id')}",true)

  initialize: ->
    @render

  render: ->
    $(@el).html(@template(question: @model))
    this
问题模板

<%= @question.get('title') %>
<span class="pull-right"><%= @question.get('answers').length %></span>

我想出来了。最后我没有找到冒号。这就是我想要的:

<ul class="list-group">
<% for question, i in @survey.get("questions"): %>
    <li class="list-group-item">
        <%= @survey.get("questions")[i]["title"] %>
        <ul class="list-group">
            <% for answer, j in @survey.get("questions")[i]["answers"]: %>
            <li class="list-group-item">
                <%= @survey.get("questions")[i]["answers"][j]["title"] %>
            </li>
            <% end %>
        </ul>
    </li>
<% end %>
</ul>
<ul class="list-group">
<% for question, i in @survey.get("questions"): %>
    <li class="list-group-item">
        <%= @survey.get("questions")[i]["title"] %>
        <ul class="list-group">
            <% for answer, j in @survey.get("questions")[i]["answers"]: %>
            <li class="list-group-item">
                <%= @survey.get("questions")[i]["answers"][j]["title"] %>
            </li>
            <% end %>
        </ul>
    </li>
<% end %>
</ul>