質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

RSpec

RSpecはRuby用のBDD(behaviour-driven development)フレームワークです。

Q&A

解決済

1回答

8069閲覧

rspecでselect box の value を指定して選択状態にしたい

pecchan

総合スコア592

Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

RSpec

RSpecはRuby用のBDD(behaviour-driven development)フレームワークです。

0グッド

0クリップ

投稿2020/06/15 20:43

rspec-rails (4.0.1)
capybara (3.32.2)

セレクトボックスの選択状態にしたく、以下のようにしましたがエラーになります。

rspec

ruby

1 select '小説', from: 'item[category_id]'

html

html

1<label for="item_category_id">カテゴリ</label> 2 <select class="select-parent" name="item[category_id]" id="item_category_id"><option value="">選択して下さい</option> 3<option data-children-path="/categories/1/sub_categories" value="1">漫画</option> 4<option data-children-path="/categories/2/sub_categories" value="2">小説</option> 5<option data-children-path="/categories/3/sub_categories" value="3">写真集</option> 6<

エラーメッセージ

ruby

1Failure/Error: select '小説', from: 'item[category_id]' 2 3 Capybara::ElementNotFound: 4 Unable to find option "小説" within #<Capybara::Node::Element tag="select" path="/HTML/BODY[1]/DIV[1]/DIV[1]/DIV[1]/FORM[1]/SELECT[1]">

以下の方法も試しましたが

ruby

1find("option[value='小説']").select_option

下のエラーになります。

Failure/Error: find("option[value='小説']").select_option Capybara::ElementNotFound: Unable to find css "option[value='小説']"

分かる方教えていただけないでしょうか?
宜しくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

select(value = "2", from: "item[category_id]")

でいけませんか?
間違ってたらすみません。
https://qiita.com/morrr/items/0e24251c049180218db4

投稿2020/06/27 08:44

sassan738

総合スコア32

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

pecchan

2020/06/28 00:51

有難う御座います。 結果的には別な要因でした。 教えていただいた記述でも、元からの記述でもいけました。 ご親切有難う御座います。
karlley

2020/11/12 21:04

同じエラーで悩んでいます。 結果的には別の要因だと書かれていますがどのような原因でエラーが出ていたのでしょうか?
sassan738

2020/11/12 21:13

僕の場合の話ですが、htmlのタグが <option data-children-path="/categories/1/sub_categories" value="1">漫画</option> となっているので、これを選択状態にしたい場合は select(value = "1", from: "item[category_id]") とhtmlタグ内のvalueの値を指定しないといけないみたいな話だったかなと思います。
pecchan

2020/11/13 00:30

karlley様 当方の原因は、コードが問題ではなく、 テスト環境でのseedデータ投入し忘れでした。 お恥ずかしい限りです。 sassan738様 有難う御座います。
karlley

2020/11/15 20:00

丁寧な回答ありがとうございます。 参考にさせて頂きます。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問