Ustawinie domyślnego czasu dla time_select

Mam w widoku prosty helper
<%= f.time_select(:mon_start) %>

Chciałbym aby czas był generowany na sztywno to jest np od 12, zamiast korzystając z Time.now

Operacje typu
<%= f.time_select(:mon_start, “14:40”) %>
nie działaja.

Jakieś pomysły jak ustawić czas np na 12.00?

Ustaw w kontrolerze czas

time = Time.parse("14:40")

w edit:

@zmienna.mon_start = time

w new

@zmienna = TwojModel.new(:mon_start => time)

Powinno zadziałać.

Niestety powyższy sposób nie działa mimo, że wszystko jest dobrze przypisane(badałem pod konsolą Railsów).

Rozwiązanie ze stackoverflow też nie działa:

Próbowałem różnych tricków

<%= time_select(:mon_start, :value => (Time.now + 2.hours))

itd

Albo dość niskopoziomowej zabawy


<%= f.time_select(:mon_start, :options => { :hour => "10", :minute => "00"} )

lub

<%= f.time_select(:mon_start, { :hour => "10", :minute => "00"} )

Ale bez skutków.

Podejrzewam, że jak narazie nikt nie wymyślił rozwiązania na ten problem. :stuck_out_tongue:

Właśnie przed chwilą sprawdziłem i działa ten sposób, który Ci wcześniej podałem.

Jaką wartość masz dla tego pola w Firebugu? Może nadpisujesz tę wartość javascriptem? Albo jeszcze inaczej: jaką wartość dostajesz a jakiej oczekujesz - może to tylko problem z czasem w UTC a local?

edit: <%= f.time_select :mon_start, :value => Time.parse(“12:40”) %> oraz <%= time_select(:mon_start, :value => (Time.now + 2.hours)) nie zadziałało.

[code]

00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 [/code] Wychodzi że jest zaznaczone tylko nie wyświetla się.

Próbowałem już zabawy z pluginem


I funkcjonuje jak narazie Ok. :wink:
Tylko trzeba będzie go zmodyfikować, żeby nie robił dopisów AM/PM.

Edycja:
Po wyczyszczeniu danych w przeglądarce działa ten twój sposób. :wink:
Jednakże ten plugin ma fajnie zrobiony select (sklejone godziny i minuty), lepsze to niż takie rozdrobnienie.