空の配列を取得している理由を突き止めています。 。私はブログの投稿blog postに従って、私は最後に読んだ提案を追加しました。それがそれを実行するより実行可能な方法であるかどうか、そしてそれを行う方法があるのだろうかと思います。これを解決する最善の方法を教えてください。Javascriptがnullになるのはなぜですか都市の宝石を使用してRailsアプリケーションを選択したときの都市のレコード
私は、次のしている私のフォームでは私のルビー宝石の都市国家city state gem
を使用しています:(このフォーラムのために簡単な読み取りのために1ページ内のJavaScriptとフォームのタグを追加する)
フォームの抜粋
<div class ="form-group">
<select id="states-of-country" name="project[state]">
<option value="" selected="">Select Your State</option>
<% CS.states(:us).each do |key, value| %>
<option value="<<%= key %>>"><%= value %></option>
<% end %>
</select>
</div>
<div class="form-group">
<select id="cities-of-state" name="project[city]">
<option value="" selected="">Select Your City</option>
</select>
</div>
Javascriptを
$('#states-of-country').change(function() {
var input_state = $(this);
var cities_of_state = $("#cities-of-state");
if ($(this).val() == "") {
cities_of_state.html("");
} else {
$.getJSON('/cities/' + $(this).val(), function (data) {
// cities_of_state.empty();
var opt = '<option value="" selected="">Select Your City</option>';
console.log(data);
if (data.length == 0) {} else {
data.forEach(function (i) {
opt += '<option value="+ i +">' + i + '</option>';
cities_of_state.html(opt);
});
}
});
}
});
ルートs.rb
get 'cities/:state', to: 'application#cities'
私は私のコンソールに行くと、私は[] にconsole.log(データ)のリターンを得る状態を選択します。データはNullです...誰かが正しい方向に私を向けることができます...> ??
ブログの誰かが、簡単にするために次の提案を述べましたが、どのように実装するのですか? blog post
にのみ、このようなものを置く必要が:
class Model < ActiveRecord::Base
##your attributes and associations
## your methods
## ..............
def self.get_countries
CS.get
end
def self.get_states(country_code)
CS.get country_code.to_sym
end
def self.get_cities(state_code)
CS.get :us state_code.to_sym
end
end