日別アーカイブ: 2019-02-03

Rails: selectボックスでrequired: trueにしたときinclude_blank: falseがきかない

環境

Rails: 5.2.2
Ruby: 2.5.3

問題

題名の通り。今回やりたかったことは「選択してください」みたいな選択肢を入れるので空白の選択肢は必要なかった。

結論

そういうものらしい?

`select` form helpers with `required: true` generate a blank option even when one is already present · Issue #31083 · rails/rails · GitHub

なので空白の選択肢をjavascriptで消すか、今回の場合は空白の選択肢にテキストをjqueryで挿入した。

$('#form-hogehoge option').each(function(index, element){
  if($(element).val() === '') {
    $(element).text('選択してください');
  }
});