2012-08-31 8 views
0

방금 ​​레일 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에서 '시간'열로 정의됩니다.

+0

귀하의 PARAMS이 START_TIME/END_TIME를 포함하지만 모델 시작/끝이라고하는 열이있는 것으로 보입니다. 내게 비린 한 소리가납니다. –

+0

감사합니다. Frederick. 나는 시작과 끝뿐만 아니라 start_time과 end_time을 가지고있다. 게다가 동일한 코드가 업그레이드 전에 여러 해 동안 작동 해왔다. ... – giorgio

답변

0

질량 할당 문제 일 수 있으며 경고가 표시되지 않습니다. 당신은 또한 당신의 development.rb 환경이를 추가 할 수 있습니다

attr_accessible :start_time, :end_time 

이러한 유형의 오류를 통보 할 : 다음 모델에 다음과 같은 추가 시도

# Raise exception on mass assignment protection for Active Record models 
config.active_record.mass_assignment_sanitizer = :strict 
+0

아니, 나는 attr_accessible로 놀았고 sanitizer 설정을 'strict'로 설정했다.)와 'logger'. 변화가 없다. 나는 두려워한다. – giorgio