私はwebratがチェックボックスを見ることができない問題に遭遇しています。Rails rspec/webrat - チェックボックスが表示されない
= form_for(@advanced_search, :url => searches_path, :method => 'get', :html => {:class => 'well', :id => 'advanced-search'}) do |f|
Availability
- @advanced_search.availability_types.each do |avail_type|
= check_box_tag "search[availability_types][kind][#{avail_type.id}]", avail_type.id, checked = true, :class => 'checkbox'
= avail_type.kind
この生成します:
それはすべての有効なHTML、および機能の作品だが、私はこのようないくつかのコード(HAML)を持っています。しかし、私はそれをテストするために行くと、私は応答のチェックボックスのいずれも表示されません。
例のテスト:
it "should have checkboxes" do
get :index
response.should have_selector("form") do |node|
node.should have_selector('input', :type => 'checkbox')
end
end
出力:
expected following output to contain a <input type='checkbox'/> tag:
Availability
<br><input class="btn" name="commit" type="submit" value="Search">
チェックボックスは表示されませんし、私はなぜわかりません。私はそれらをチェックしてマークすることは、チェックボックスを使ったhtmlのファンキーなのでそれをするかもしれないと思ったが、何の効果もないようだ。私がしなければ
編集1 は、私が知っている何、これは:
Availability
- @advanced_search.availability_types.each do |avail_type|
= check_box_tag "search[availability_types][kind][#{avail_type.id}]", avail_type.id, checked = true, :class => 'checkbox'
= avail_type.kind
= check_box_tag "search[availability_types][kind][8]", 8, checked = true, :class => 'checkbox'
非動的に生成されたチェックボックスが罰金を示しています。
Availability
<input checked class="checkbox" id="search_availability_types_kind_8" name="search[availability_types][kind][8]" type="checkbox" value="8">
編集2
テストデータベースのデータが失われていました... Doh。私は前に、これらの作成を追加し、私のチェックボックスが表示されます。
before(:each) do
AvailabilityType.create!({:kind => 'Full-time'})
AvailabilityType.create!({:kind => 'Part-time'})
AvailabilityType.create!({:kind => 'No Availability'})
end
これは答えです!私は以前の(:each)のデータを追加していませんでしたが、 – ryanjones