좋아요, 그래서 학생이 가능한 약속의 테이블에서 교수와 약속을 선택할 수있게하려고합니다. "선택"을 누르면 테이블에서 모든 약속 _id를 가져온 다음 선택한 약속이 표시된 테이블의 첫 번째 숫자를 넣습니다. 5 번 약속을 선택하는 대신 2, 4, 5, 6을 선택합니다. 그러면 선택한 약속 테이블에 2가 입력됩니다. 내가 원하는 것은 실제로 선택한 약속을 선택하는 것입니다. 여기 하나의 약속 대신 약속의 배열을 선택했습니다.
가 (난 단지 필요한 코드를 포함하고있어) 내 appointments_available이다 : 여기<% @appointment.each do |appointment|%>
<tr>
<td><%= appointment.professor_id %></td>
<td><%= appointment.student_id %></td>
<td><%= appointment.timeslot %></td>
<td><%= link_to 'Choose', :controller => "appointments", :action => "student_edit", :id => @appointment %></td>
</tr>
<% end %>
는 약속 컨트롤러 (다시, 모든 코드가있다) :
def appointments_available
@appointment = Appointment.find_all_by_student_id("")
end
def student_edit
@appointment = Appointment.find_by_id(params[:id])
@appointment.update_attribute(:student_id, session[:student].user_id)
end
어떤 도움을 주신다면
'config/routes.rb'에 선언 된 적절한 resourceful 경로를 사용하고 REST-ful 명명 규칙을 사용하여 기본값을 준수하는 것이 일반적으로 훨씬 깔끔합니다.예를 들어, 이것은 레일 1 스타일 컨트롤러와 액션 선언 대신에'appointment_path (@appointment)'일 수 있습니다. 또한 GET 메서드를 사용하여 레코드를 업데이트하는 것은 아마도 매우 나쁜 생각입니다. 일부 브라우저는 그런 링크를 미리 가져오고 모든 것을 나쁘게 만듭니다. 가능한 한': method => : post'를 사용하십시오. – tadman