У меня есть форма с параметрами страны и штата.В зависимости от выбранной страны, я хочу, чтобы штат изменился, чтобы уменьшить выбор.
У меня есть помощники для штатов и стран
Я пытался:
<%= f.select(:country, options_for_select((countries), @stripe_account[:country]), {}, { class: "form-control input-lg" }) %>
<div class="form-group">
<%= f.label :address_state, "State/Province/Region" %>
<div class="field <%= @stripe_account.country == 'US' ? 'present' : 'hidden' %>">
<%= f.select(:address_state, options_for_select((us_states), @stripe_account[:address_state]), {}, { class: "form-control input-lg", id: "address_state us-states"}) %>
</div>
<div class= "field <%= @stripe_account.country == 'AU' ? 'present' : 'hidden' %>">
<%= f.select(:address_state, options_for_select((au_regions), @stripe_account[:address_state]), {}, { class: "form-control input-lg", id: "address_state au_regions"}) %>
</div>
...
</div>
Это не похоже на работу.И еще одна вещь, которая мне не нравится в этом, это то, что она только скрывает форму, но не скрывает стиль.Так что он просто скрыт и есть пустая область пространства.
Я сделал что-то подобное для других форм, но, кажется, не работает, если он не в HTML:
$("#country").on("change",function(){"US"===$(this).val()?$("#banking-us, #banking-us-1").show():$("#banking-us, #banking-us-1").hide()});
Я пробовал это с формой рельсов, но, похоже, не сработало.
Все варианты основаны на помощниках для формы, таких как:
def countries
[
['US'],
['AU'],
]
end
Как можноЯ делаю это?