QA@IT
«回答へ戻る

回答を投稿

日付データの入った編集画面を開いたときにハイフン区切りで表示するには

「スラッシュ区切りで表示するには」の誤りでしょうか?

form tag helper の input (text_field etc.)の value には、アクセサに _before_type_cast の値を付けて呼び出した返値が使われます。

要望の解決案としては、

  • value: オプションに user.birthday.to_s (or strftime) を明示する。
  • User#birthday_before_type_cast を上書きする。(影響が大きいので非推奨)
  • f.text_field ではなく、f.date_select を利用。要素の順序や区切りを指定する。

などが考えられます。

> 日付データの入った編集画面を開いたときにハイフン区切りで表示するには

「スラッシュ区切りで表示するには」の誤りでしょうか?

form tag helper の input (text_field etc.)の value には、アクセサに _before_type_cast の値を付けて呼び出した返値が使われます。

要望の解決案としては、

* `value:` オプションに `user.birthday.to_s` (or `strftime`) を明示する。
* `User#birthday_before_type_cast` を上書きする。(影響が大きいので非推奨)
* `f.text_field` ではなく、`f.date_select` を利用。要素の順序や区切りを指定する。

などが考えられます。