2010-08-05 5 views
0

약속을 저장했는지 또는 작성한 약속이 충돌했는지 확인하기 위해이 검색 문을 작성했습니다. 하지만 그것이 작동하지 않는다면, 누군가 내가 잘못 가고있는 곳으로 나를 가리켜 주실 수 있습니까?레일에서 2 개의 값으로 모델 검색?

@new_appointment = :appointment #which is the params of appointment being sent back from submit. 
@appointments = Appointment.all(:conditions => { :date_of_appointment => @new_appointment.date_of_appointment, :trainer_id => @new_appointment.trainer_id} 

)

오류이 항상 거짓이 될 :date_of_appointment => @new_appointment.date_of_appointment에서입니다 :

는 액면

+0

어떻게 작동하지 않습니까? –

+0

'Appointment' 모델은 어떻게 생겼습니까? 여기에 게시 할 수 있습니까? –

+0

질문이 업데이트되었습니다. 새로운 문제가 떠오른다. 나는 새로운 질문을 만들거나이 질문을 업데이트 할 의도가 있는지 알지 못했다. –

답변

3

감사합니다, 아무것도 잘못이있을 나타나지 않는 통사론. 내 생각 엔 @new_appointment에는 예상 한 값이 포함되어 있지 않으므로 데이터베이스 쿼리가 예상보다 다른 값을 반환합니다.

(construct_finder_sql가 보호 ActiveRecord::Base 방법) @new_appointment.inspect을 덤핑 시도하거나 SQL 파인더 생산 상황을 확인하기 위해 로그 파일을 확인하거나 생성 될 SQL을 볼 수

Appointment.send(:construct_finder_sql, :conditions => { 
    :date_of_appointment => @new_appointment.date_of_appointment, 
    :trainer_id => @new_appointment.trainer_id 
}) 

를 사용합니다. 당신의 편집

@new_appointment = :appointment에 따라


업데이트 @new_appointment = Appointment.new(params[:appointment])과 같이해야한다. :appointment은 단지 상징 일뿐 아니라 지시하지 않는 한 매개 변수와 자동으로 관련이 없습니다.

+0

안녕하세요, 저는 "네가 맞다. 네가 맞다."date_of_appointment가 3 가지 다른 값으로되어있다. "date_of_appointment (2i)"=> "3", "date_of_appointment (3i)"=> "10", " date_of_appointment (1i) "=>"2012 " 어떻게 확인할 수 있습니까? 덕분에 –

+0

1i, 2i 및 3i가 무슨 뜻인지 잘 모르겠다. –

+2

date_select 도우미에서 왔으므로 다음과 같이 변환 할 수 있습니다. http://gist.github.com/331737 – mark

관련 문제