학생, 성적 등을위한 열과 해당 날짜의 열 (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.order('fielded DESC') do |score|
에보기 코드
@scores.each do |score|
을 변경하려고하면 그것은 나에게 어떤 결과를 제공하지 않습니다. 이 문제만으로는 문제를 해결할 수는 없지만 왜 이것이 작동하지 않는 것인지 잘 모르겠습니다. 궁극적으로 가장 최근의 가치만을 보여주고 싶습니다. 나는 레일즈에서 경험 한 모든 것이 아니므로 앞으로 나아가거나 코드를 바꿀 수있는 방법에 대한 제안은 대단히 감사하겠습니다!
그 덕분에 - 감사합니다! 그 순서가 지정된 목록에서 가장 최근의 것을 만드는 방법을 아는 모든 기회가보기에 나타납니다. – user2155400
'@scores.order (...). limit (1)'은 그것을 수행하는 한 가지 방법입니다. 이 모든 것 이상은 잘 문서화되어 있습니다. Rails 가이드를 확인하십시오. http://guides.rubyonrails.org/active_record_querying.html – rossta
그 덕분에 정말 감사드립니다! 나는 가이드를 통해 확실히 볼 것입니다 - 처음부터 살펴 보지 못한 것에 대해 사과드립니다! – user2155400