1
我想在驗船師(http://github.com/NUBIC/surveyor/)中設置一個值爲1到50的下拉框。下一個問題應該只在用戶選擇時纔可見1在第一個問題。這裏是我的代碼來做到這一點:自動生成下拉依賴於驗船師(Rails gem)
survey "Test survey dependency", :default_mandatory => true do
section "questions" do
q_1 "Click on 1 to see the next question", :pick => :one, :display_type => :dropdown
((1..49).to_a + ["50 or more"]).each{|num| a num.to_s, reference_identifier: num.to_s}
q "Hello?"
a "Hello"
dependency :rule => "A"
condition_A :q_1, "==", {:answer_reference => "1"}
end
end
現在,這應該與:a_0
比較:q_1
。然而,這是我的錯誤:
rake surveyor FILE=surveys/survey.rb
rake aborted!
Bad references: q_1, a_0
/home/ari/.rvm/gems/ruby-1.9.3-p392/gems/surveyor-1.3.0/lib/surveyor/parser.rb:59:in `instance_eval'
/home/ari/.rvm/gems/ruby-1.9.3-p392/gems/surveyor-1.3.0/lib/surveyor/parser.rb:120:in `report_lost_and_duplicate_references'
/home/ari/.rvm/gems/ruby-1.9.3-p392/gems/surveyor-1.3.0/lib/surveyor/parser.rb:84:in `method_missing'
(eval):1:in `parse'
如果我改變condition_A到condition_A :q_1, "==", {:string_value => "1"}
,它被成功解析,但接下來的問題是仍然沒有顯示。
在示例中的所有內容,kitchen_sink_survey.rb都能正常工作。
所以它看起來像手動設置:reference_identifier
不會做任何事情。這是一個錯誤還是設計?除了測試實際價值之外,我可以做任何事嗎?
你在做什麼似乎像它應該工作。我也可以使用不帶循環的':reference_identifier =>「1」'語法來重現它,所以它不是特定於循環。您能否在驗船師的追蹤器中提交錯誤? –
錯誤報告:https://github.com/NUBIC/surveyor/issues/439 – geniass
謝謝大家,錯誤已修復 – geniass