我有一个表格,其中包含学生、成绩等列以及相应日期的列(不是 created_at 日期)。在我的模型中,一个学生有_许多分数,一个分数属于_一个学生。当用户点击学生时,我希望显示页面仅根据“字段”列中输入的日期显示最近的成绩和相关日期。
目前我的显示视图如下所示:
<% @scores.each do |score| %>
<p>
<b>Grade:</b>
<%= score.grade %>
</p>
<p>
<b>Date:</b>
<%= score.fielded %>
</p>
<% end %>
我的学生控制器如下所示:
def show
@student = Student.find(params[:id])
@scores = @student.scores
respond_to do |format|
format.html # show.html.erb
format.json { render json: @student }
end
end
分数数据库中有这个:
class CreateScores < ActiveRecord::Migration
def change
create_table :scores do |t|
t.string :student
t.integer :score
t.date :fielded
t.string :grade
t.integer :student_id
t.timestamps
end
end
end
目前,我的代码显示了与该学生相关的所有成绩和日期。当我尝试更改视图代码时
@scores.each do |score|
到
@scores.order('fielded DESC') do |score|
它没有给我任何结果。我知道仅此一项并不能解决问题,但我不确定为什么这也不起作用。最终,我希望它只显示最新的值。我对 Rails 的经验并不多,因此对于如何推进或更改我的代码的任何建议将不胜感激!