Привет, ребята, я в настоящее время работаю над формой регистрации устройства, конечная цель - пользователь может выбрать штат из Соединенных Штатов, а тег выбора ниже заполнит правильные города в этом штате. Я использую жемчужину города-государства. https://github.com/loureirorg/city-state
я смотрел на другие примеры, подобные этому https://forum.upcase.com/t/dependent-country-city-state/7038 мой код ниже
routes.rb
resources :states, only: :new
registrations.new.html.erb
<div class="field">
<%= f.select :state, options_for_select(CS.states(:us)), {:prompt => "State"}, {:class => "signup-input-container--input", :id => "state-picker"} %>
</div>
<div class="field">
<%= f.select :city, options_for_select([]),{}, {:class => "signup-input-container--input", :id => "city-picker"} %>
</div>
main.js
document.addEventListener("turbolinks:load", function(){
var state = document.getElementById("state-picker");
state.addEventListener("change", function() {
Rails.ajax({
url: "/states?country=" + "United States" + "&state=" +
state.value,
type: "GET"
})
})
});
регистрация-controller.erb
def new
super
@cities = CS.get(:us, params[:state])
end
new.js.erb
var city = document.getElementById("city-picker");
while (city.firstChild) city.removeChild(city.firstChild);
var placeholder = document.createElement("option");
placeholder.text = "Choose a city";
placeholder.value = "";
city.appendChild(placeholder);
<% @cities.each do |c| %>
city.options[city.options.length] = new Option('<%= c %>');
<% end %>
я пытаюсь заставить это работать так, как показано в примере. единственное отличие состоит в том, что пользователи будут выбирать только штаты из США и города