2017-01-05 41 views
0

我正在構建一個表單,其中問題類型之一是/否問題。如果用戶選擇「否」,他們將被要求填寫一個文本框,解釋他們爲什麼選擇不選。如果用戶選擇「否」,我希望使文本框爲必填項,但如果用戶選擇「是」,則不需要。這是我的代碼看起來像輸入標籤需要Rails條件嗎?

<% @questions.each_with_index do |question, index| %> 
    ... 

    <div class="radio-button"> 
    <%= radio_button_tag("questions[#{question.id}][answer][name]", "yes", false, required: true) %> 
    <%= label_tag("questions[#{question.id}][answer][name]_yes", "Yes") %> 
    </div> 
    <div class="radio-button"> 
    <%= radio_button_tag("questions[#{question.id}][answer][name]", "no", false, required: true) %> 
    <%= label_tag("questions[#{question.id}][answer][name]_no", "No") %> 
    </div> 
    <div class="explanation"> 
    <%= label_tag("questions[#{question.id}][answer][explanation]", "If no, please explain why.") %> 
    <div> 
     <%= text_area_tag("questions[#{question.id}][answer][explanation]", nil, size: "50x8", title: "question-#{index + 1}-text") %> 
    </div> 
    </div> 
<% end %> 

我怎樣才能讓,如果用戶選擇了沒有單選按鈕所需的最後text_area_tag,但如果用戶選擇的是不是必需的?我想我將不得不添加一些東西沿

<%= text_area_tag(..., required: ([condition] ? true : false) %> 

但我不知道如何寫條件。是否可以定位一個單選按鈕並查看它是否被選中?謝謝!

+3

如果你想這樣做對的部分客戶端你必須使用JavaScript。 – Iceman

+0

謝謝我想知道是否有一些內置的軌道技巧,這樣做沒有js – Andrew

+0

只是爲了確定我明白,你希望textarea的所需狀態改變基於用戶與單選按鈕交互,在表單之前(我假設有一個封裝所有這些的表單?)被提交回服務器? – soupdog

回答

0

其所有真的取決於條件是什麼

我在想,這些條件都是PARAMS

<% if params['something'] == 'true' %> 

    <%= text_area_tag(...) %> 

<% else %> 

    <%= text_area_tag(..., required: params['something']) %> 

<% else %> 

我希望這有助於