2017-05-22 8 views
0

私は私の見解でdatetime_field_tagのデフォルト値を持つようにしようとしています:Railsの中datetime_field_tagのデフォルト値を持ってする方法

<input type="datetime-local" name="last_seen_at" id="last_seen_at" value="22-05-2017T16:34"> 
:これは、HTMLで valueタグを持つことになる

=form_tag form_path, method: :get do 
    =label_tag :sign_up_at, 'Sign up before:' 
    =date_field_tag :sign_up_at, (params[:sign_up_at] || 
           Time.zone.today.strftime("%Y-%m-%d")) 

    =label_tag :last_seen_at, 'Last seen after:' 
    =datetime_field_tag :last_seen_at, (params[:last_seen_at] || 
            Time.zone.now.strftime("%d-%m-%YT%H:%M")) 

    =submit_tag 'Filter', class: 'btn-info' 

missing-default-value

私の推測では、解析に問題があります。Timeです。誰でも助けてくれますか?ありがとう!

@ deephakの回答に従って更新されました。

答えて

1

あなたはdateに時間を与えないtodayを使用しています。あなたは、日付のうちの時間を取得しようとすると、

ので、レールが00:00

例が返されます:

Time.zone.today 
#=> Mon, 22 May 2017 

Time.zone.now 
#=> Mon, 22 May 2017 09:34:57 EDT -04:00 

これを修正するには、変更

Time.zone.today.strftime("%d-%m-%YT%H:%M") 
#=> "22-05-2017T00:00" 

Time.zone.now.strftime("%d-%m-%YT%H:%M") 
#=> "22-05-2017T09:33" 

# OR 

Time.current.strftime("%d-%m-%YT%H:%M") 
#=> "22-05-2017T09:33" 
+0

ありがとう!これは間違った時間を解決しますが、依然としてデフォルト値を見ることはできません。 – ogirginc

+0

あなたは 'params [:last_seen_at]'を一度削除してみることができます –

+0

提案したようにパラメータを削除しようとしましたが、依然としてブラウザのデフォルト値は 'value'タグとしてしか見えません。 – ogirginc

関連する問題