JavaScript」タグアーカイブ

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('選択してください');
  }
});

javascript: requireとimportとimport()

先日 import 関連の記事を書きましたが

RailsのwebpackerにおけるCSSインポート時のrequire, importによる違い – こんがりぃ

そもそも import 'hogehoge'import('hogehoge') があることを知りませんでした。

まず require('hogehoge')import 'hogehoge' の違い

参考: matatsuna.hatenablog.com

基本的に書き方や出処が違うだけで同じ機能。

次に import 'hogehoge'import('hogehoge')

参考: qiita.com

括弧がある方は動的読み込みなんですね。であれば前回記事のも納得できる。

BootstrapのModal内でSelect2をうまく表示する

BootstrapのModal内でSelect2を使うとレイアウトが崩れてしまう。

Modalの tabindex = -1 を取るといいというのもあるらしいが、それをしてもレイアウトが崩れて困っていたが以下のリンクの通りすればいけた。

github.com

$('.hoge').select2({
dropdownParent: $('.fuga')
})