用户的所有分数

时间:2013-03-11 04:33:32

标签: ruby-on-rails html-table has-many belongs-to

我有一个包含4列的表格:名称,日期,分数,等级。在整个表格中,名称类别中有许多重复项。当我点击一个名字时,我希望它显示该用户的所有分数,等级和相应的日期。

目前,当我点击表格中多次出现的名称时,它只会显示我选择的实例的分数,成绩和日期。如何让它显示与该名称相关的所有分数,等级和日期。

这是一个数据库快照 -

得分表:

class CreateScores < ActiveRecord::Migration
   def change
     create_table :scores do |t|
       t.string :name   
       t.integer :score
       t.date :fielded
       t.string :grade
       t.integer :name_id

       t.timestamps
     end
   end
 end

学生表:

class CreateStudents < ActiveRecord::Migration
  def change
    create_table :students do |t|
      t.integer :id
      t.string :name

      t.timestamps
    end
  end
end

以下是我视图中显示的表格 -

<% @score.each do |score| %>
  <tr class="tableline" >
     <td class="tableline"><%= link_to score.name.upcase, score, {style: 'color:#FFFFFF; text-decoration: none; opacity:1'} %></td>
     <td class="tableline"><%= score.fielded %></td>
     <td class="tableline"><%= score.score %></td>
     <td class="tableline"><%= score.grade %></td>
  </tr>
<% end %>

1 个答案:

答案 0 :(得分:0)

似乎你需要对表进行一些重新分解,作为一个例子,你应该有一个用户表和一个相关的成绩表。

前:

#users table
id
name

#grades table
id
user_id
score
grade
date

有效记录模型

class User < ActiveRecord::Base
  has_many :grades
end

class Grade < ActiveRecord::Base
  belongs_to :user
end

获取用户的所有成绩

user = User.find(id)
user.grades