2016-11-08 2 views
0

저는 Rails에 익숙하지 않습니다. 쉽게 들리지만 작동시키지 못하는 것에 고심하고 있습니다. 나는 학생과 출석의 두 가지 모델을 가지고있다.모든 학생들을위한 출석보기/양식 생성 모든 학생들을위한 출석보기/양식 생성

학생 모델 :

name lastname classroom_id 

출석 모델 :

present:boolean absent:boolean halfday:boolean attnd_date:date student_id 

학생들 has_many :attendances 출석 belongs_to :student.

개인 학생을위한 입장을하고 출석을 할 수는 있지만 모든 학생에게 보여 주거나 (주어진 교실에 모든 학생을 보여주는)보기와 내가 보여주고 싶은 각 학생 이름 옆에보기를 생성하고 싶습니다. 3 개의 체크 박스는 내가 존재하고 결석 한 사람을 하나씩 표시 할 수있게 해주고 폼을 제출합니다.

여기에 도움을 주시면 감사하겠습니다. 레일 4 루비 2.2.0

감사

+1

스택 오버플로에 오신 것을 환영합니다! 지금까지 시도한 내용과 그 결과를 포함하여 질문을 명확히 할 수 있습니까? – RJHunter

답변

0

사용하여 당신은 당신이 출석을 표시하고자하는 교실을 찾을 것이다 edit 조치를 할 수 있습니다. 양식을 제출할 때보기에서

class AttendancesController < ApplicationController 
    def edit 
    @classroom = Classroom.find(<classroom-id>) 
    end 

    def update 
    end 
end 

edit.html.erb

<%= form_for(@classroom, url: '/attendances/:id', method: :put) do |f| %> 
    <table> 
    <%- @classroom.students.each do |student| %> 
     <tr> 
     <td><%= student.name %></td> 
     <td><%= checkbox_tag "attendances[#{student.id}][present]" %></td> 
     <td><%= checkbox_tag "attendances[#{student.id}][absent]" %></td> 
     <td><%= checkbox_tag "attendances[#{student.id}][halfday]" %></td> 
     </tr> 
    <% end %> 
    </table> 

    <%= f.submit %> 
<% end %> 

이 방법, 당신은 당신의 update 행동이 PARAMS가 나타납니다

`{ attendances: { '1' => { present: false, absent: true, halfday: false }, '2' => { present: true, absent: false, halfday: false }, ... } }`. 

그런 다음에 논리를 쓸 수 있습니다 이러한 세부 사항을 데이터베이스에 저장하는 작업.

참고 : 이것은 의사 코드의 일종입니다. 다른 HTML 태그의 구문과 옵션을 확인하십시오.

+0

감사합니다. 이제 과정을 간소화하고 모든 학생의 목록을 얻고 참석자를 만 들기 만하면됩니다. 참석 버튼 만들기를 클릭하면 출석이 하나 생성되고 student_id도 없거나 매개 변수가 전달됩니까? – Waqas

+0

일부보기 및 컨트롤러 코드를 표시 할 수 있습니까? 관련성이있는 것만 –

+0

방금 ​​게시자가보기에 그리고 게시자가 고민하는 내용을 게시했습니다. 그 순간 간단한 발판 코드 – Waqas

0

나를 도와 주려고하는 @Jagdeep Singh에게 감사드립니다. 나는이 과정을보다 간단하게 만들어 머리를 감쌌다. 나는 모든 학생들의 목록을 얻고 그들의 출석을 만들고 싶습니다.

내보기 :

<% @students = Student.all %> 

<%= form_for(:attendances, url: '/admin/attendances/') do |f| %> 
    <table> 
    <%= @today %> 
    <th>Name</th><th>Present</th><th>Absent</th><th>halfday</th> 
    <%- @students.each do |student| %> 
     <tr> 
     <td><%= student.first_name %></td> 
     <td><%= check_box_tag "attendances[#{student.id}][present]" %></td> 
     <td><%= check_box_tag "attendances[#{student.id}][absent]" %></td> 
     <td><%= check_box_tag "attendances[#{student.id}][halfday]" %></td> 
     </tr> 
    <% end %> 
    </table> 

    <%= f.submit %> 
<% end %> 

내가 클릭 그것은 단지 하나의 모든 기본 PARAMS와와 레코드 생성 출석 버튼을 만들

.

나는 아직도 배우고있다. 그러나 내가 한번에 가지고있는 10 명의 학생들을위한 출석을 어떻게 만들 수 있는지에 대해 일단 머리 숙여지면.