🕌
Capybara の fill_in 対象はラベル以外でも指定できることを思い出そう
system test を書いていて、少しハマりました。
Capybara::ElementNotFound:
Unable to find field "Hoge" that is not disabled
こんな感じで、正しいラベルを指定しているはずなのに、怒られる。
ふむ。
form をどう作っていたかと言うと、
f.label :Hoge
f.text_field :fuga
みたいな感じでした。
つまり、カラム名は fuga
であり、 fuga
を登録するためのフォームだけど、ラベル名は変えたいという場合です。
対応
input タグの name
属性を使って入力フィールドを指定するようにしました!
fill_in 'user[fuga]', with: 'fugafuga'
Railsだと name 属性は モデル名[カラム名]
みたいな感じになっているはずなので、それを指定してやります。
これで通りました!!
🧐
詳しくは調べていませんが、普通に
f.label :fuga
f.text_field :fuga
にしていたら問題無かったかと思います。
ラベル名だけ変えたい時に起きるのかもしれません...?
詳しい方教えて頂けると嬉しいです🙏
Discussion