2017-03-07 4 views
0

私はデフォルトを設定しようとしています。または、事前に定義済みのオプションのリストを表示することをお勧めします。Railsフォームでデフォルトのタイムゾーンを設定する

現在、以下のコードは利用可能なタイムゾーンのリスト全体をレンダリングしており、特定のタイムゾーンを見つけることはやや面倒です。現在の企業はすべて2つのタイムゾーンのいずれかに入っています。特定のタイムゾーンにデフォルト設定したり、2つのタイムゾーン値をリストの先頭に追加する方が良いでしょう。フォームフィールドは次のとおりです:

= form.select :time_zone, (TZInfo::Timezone.all.map { |tz| ["(UTC#{tz.current_period.offset.utc_offset/3600}) #{tz.to_s}", tz.name] }) 

私はいくつかのオプションを設定しようとしましたが、そうする従来の方法はないようです。

答えて

1

多分、このAPIドキュメントは必要なものです。 PARAM:選択したタイムゾーンに(カナダ/東)を追加することによって動作します@tsao

http://apidock.com/rails/v4.2.7/ActionView/Helpers/FormOptionsHelper/options_for_select

form.select :time_zone, options_for_select(TZInfo::Timezone.all.map { |tz| ["(UTC#{tz.current_period.offset.utc_offset/3600}) #{tz.to_s}", tz.name] }, selected: "your default option") 
+0

おかげで、。次に、リストの一番上に2つのオプションを追加し、その後に残りのオプションを追加する方法が不思議です。すなわち、トップに2つのカナダタイムゾーンが続き、残りのタイムゾーンが – VegaStudios

+0

@VegaStudiosのAPIドキュメントでは、「選択は複数選択を使用するときに選択される値の配列でもよい」と記載されているので、選択した値を配列に設定できます。 – Tsao

関連する問題