0

我有一个表设置有 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 %>
4

1 回答 1

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
于 2013-03-11T07:15:54.030 回答