私はTDDの初心者で、実際にテストの前にコードを書きました。コード自体は正常に動作し、メイン ページから onChange イベントが適用されます。ただし、テスト時に、選択したオプションとして別のオプションが選択されていても (オプションが変更されるため)、テスト時に onchange イベントが実際にトリガーされず、同じページにとどまっているようです。 ctscans/index"、取得: "/" (== を使用)
ようこそ_spec.rb
require 'spec_helper'
describe "Welcome Page" do
before {visit root_path}
subject{page}
describe "with Ctscan selected" do
before {select("CT Scan", :from => "procedure")}
it {should have_select('procedure', :selected => 'CT Scan')}
it "redirects to" do
select 'MRI', :from => 'procedure'
current_path.should == ctscans_index_path
end
end
end
ビュー/ようこそ/index.html.erb
<%=select_tag(:procedure, options_for_select(@paths, :selected => @paths[0]),:onchange => "gotoNewPage()")%>
<script type="text/javascript">
function gotoNewPage() {
if (document.getElementById('procedure').value){
window.location.href = document.getElementById('procedure').value;
}
}
</script>