2013-04-16 2 views
0

나는 내 데이터베이스의 테이블에 DateTime 열을 별도로 가지고 있습니다. 표에서 편집을 클릭하면 DateTimeparams의 값을 표시해야합니다. 사용자는 DateTime을 변경하고 form을 업데이트 할 수 있습니다.date_select 및 time_select를 레일 형태로 사용하는 방법은 무엇입니까?

<div class="field"> 
    <%= f.label :Sent_Date, 'Sent Date:' %> 
    <%= date_select(:Appointment_Date, object: f.object) %> 
</div> 

<div class="field"> 
    <%= f.label :Appointment_Time, 'Appointment Time:' %> 
    <%= f.time_select(:history, :Appointment_Time, include_seconds: true) %> 
</div> 

그것은 값을 올바르게 표시되지 것하고 다음 레코드로 변경되지 않습니다

나는 다음 시도했다. 값을 선택하여 표시합니다. 여기서 날짜를 변환해야합니까? 왜냐하면 데이터베이스에서 그 값은 2013/05/13과 같은 값일뿐입니다. 20 December 2013

Time 필드가 작동하지 않습니다. 이 문제를 해결하는 방법을 제안 해주십시오.

감사

+0

양식 필드에 상수를 사용하는 이유가 있습니까? – weltschmerz

+0

아니, 방금했는데 ... 이유는 없어. 감사합니다 – Vinay

+0

그럼 안돼. 상수 (대문자로 시작하는 모든 변수)는 변경하지 않으려는 값 저장소입니다. 레일즈는 당신이 그것들을 바꿀 수있게 할 것이지만, 매번 경고를 줄 것입니다 - 그리고 당신이 편집 할 수있는 필드이기 때문에 당신에게 의미가 없습니다. – weltschmerz

답변

1

해당 모델에 필드로 상수를 사용하지 마십시오. 대문자로 시작하는 변수는 상수처럼 취급되며 상수는 변경되지 않는 것을 의미합니다. Ruby는 상수의 값을 변경하려고 할 때 warning: already initialized constant을 줄 것이므로 시간과 날짜를 변경할 수없는 이유가 될 수 있습니다.