0

アンダースコア テンプレートを使用して、ブートストラップ ドロップダウン メニューを作成するためのテンプレートを作成しています。コードは自分のコンピューターでは問題なく動作しましたが、今は ruby​​ on rails バックエンド サーバーに追加しています。これで、コードは機能しなくなりました。<% %> の間のコードは、JavaScript ではなく Ruby コードとして解釈されると言われました。ruby のことはまったく知らないのですが、誰かが for ループの書き方を教えてくれました。

<!-- Dropdown Menu-->
<script type="text/template" id="dropdown">
  <div class="dropdown">
    <a class="dropdown-toggle" data-toggle="dropdown">
      <span> <%= name %> </span>
      <b class="caret"></b>
    </a>
    <ul class="dropdown-menu">
      <% array_of_items.each do |obj| %>
          <li> <a> <%= obj %> </a> </li>
      <% end %>
    </ul>
  </div>
</script>

私が得るエラーは「未定義の変数array_of_items」です。もちろん、定義されていません。後で定義します

this.$el.append(this.makeDropdown({
    name: this.name,
    array_of_items: [1,2,3,4]
}));

アンダースコア テンプレートは Javascript ではこのように機能しますが、Ruby では何らかの理由で未定義の変数をテンプレートに含めることができません。

4

2 に答える 2