0

現在、次のように説明できるモデルがあります。

曲は割り当てを通じて多くのセットリストを持つことができます割り当ては曲とセットリストに属しますセットリストは割り当てによってその中に多くの曲を持つことができます

曲には、タイトル、アーティスト、音楽キーがあります。

基本的に、ミュージシャンがライブラリから既存の曲を選択してセットリストに追加できる新しいセットリスト ビューをセットアップしています。私はこれらの線に沿って何かをしたい:

     <thead>
        <th>Title</th>
        <th>Artist</th>
        <th>Root Key</th>
    </thead>
    <tbody>
      INSERT CODE HERE TO DISPLAY DATA
    </tbody>

現時点では、次のコードを使用してデータを取得していますが、テーブル内の関連するセルに分離する方法があるかどうかはわかりません:

<% songs = Song.all.collect {|s| [ s.title, s.artist, s.key ] }  %>
<% songs.sort! %>

これがこれを実行するための最良の方法であるかどうかはわかりません。誰かが素晴らしい代替案を提案できれば. 前もって感謝します!

4

2 に答える 2

4

データのフェッチはコントローラーの責任です。

def index
  @songs = Song.select([:title, :artist, :key]).all
end

そして見る:

  <tbody>
      <% @songs.each do |song| %>
        <tr>
          <td><%= song.title %></td>
          <td><%= song.artist %></td>
          <td><%= song.key %></td>
        </tr>
      <% end %>
  </tbody>
于 2012-07-06T13:11:18.297 に答える
0

私は次のように問題を解決することができました:

<tbody>
          <% songs.each do |n| %>
            <tr>
              <td><%= n[0], '#' %></td>
              <td><%= n[1], '#' %></td>
              <td><%= n[2], '#' %></td>
            </tr>
          <% end %>
      </tbody>

これがベストプラクティスかどうかはまだわかりませんので、誰かがより良い方法を知っている場合はお知らせください。ありがとう :)

于 2012-07-06T11:50:13.390 に答える