방금 레일 2.3.14에서 3.2.2로 업그레이드했습니다. 업그레이드하기 전에 time_select가 정상적으로 작동했습니다. 이제 매개 변수를 할당 한 후 'start_time'및 'end_time'모델의 열은 항상 nil입니다.Rails3 time_select가 모델 시간 열에 올바르게 할당되지 않습니다.
@calendar_event=CalendarEvent.new(params[:calendar_event])
logger.info(@calendar_event.inspect)
: 여기
Parameters: {"authenticity_token"=>"aGF3mZbZvIDiv6ikH0M8Up2HoTqyXiAFqk+6Wsjbq6g=", "calendar_event"=>{"start_date"=>"Fri Aug 31 10:30:00 +1200 2012", "calendar_resource_id"=>"", "start_time(1i)"=>"2012", "organisation_id"=>"", "start_time(2i)"=>"8", "start_time(3i)"=>"31", "booking_type"=>"WORKER", "start_time(4i)"=>"10", "end_time(1i)"=>"2012", "id"=>"", "start_time(5i)"=>"30", "end_time(2i)"=>"8", "user_id"=>"31", "end_time(3i)"=>"31", "end_time(4i)"=>"11", "description"=>"ssss", "end_time(5i)"=>"00", "end_date"=>"Fri Aug 31 11:00:00 +1200 2012"}}
모델에 속성을 할당하는 코드입니다 : 여기
<%=label_tag("Start Time")%>
<div class="datetime-select">
<%=time_select(:calendar_event,:start_time,{:minute_step => 5},{:class=>'time'})%>
</div>
<%=label_tag("End Time")%>
<div class="datetime-select">
<%=time_select(:calendar_event,:end_time,{:minute_step => 5},{:class=>'time'})%>
</div>
다시 컨트롤러에있는 매개 변수입니다 : 여기
은이다
그리고 다음은 로그 문에서 CalendarEvent 모델의 내용입니다 :
#<CalendarEvent id: nil, description: "ssss", booking_type: "WORKER", start: nil, end: nil, start_date: "2012-08-31", end_date: "2012-08-31", start_time: nil, end_time: nil, allDay: false, calendar_resource_id: nil, organisation_id: nil, user_id: 31, group_session_id: nil, created_at: nil, updated_at: nil>
start_time 및 end_time은 항상 nil입니다.
schema.rb에서 '시간'열로 정의됩니다.
귀하의 PARAMS이 START_TIME/END_TIME를 포함하지만 모델 시작/끝이라고하는 열이있는 것으로 보입니다. 내게 비린 한 소리가납니다. –
감사합니다. Frederick. 나는 시작과 끝뿐만 아니라 start_time과 end_time을 가지고있다. 게다가 동일한 코드가 업그레이드 전에 여러 해 동안 작동 해왔다. ... – giorgio