Ruby on Rails で、州と対応する都市を表示する動的なドロップダウン メニューを実装しようとしています。
次のエラーが表示されます (で/home/yash/socialnw20/app/assets/javascripts/dynamic_cities.js.erb
):
undefined method `each' for nil:NilClass
Javascript ファイル:
var cities = new Array();
<% for city in @cities do %>
cities.push(new Array(<%= city.states_id %>, '<%=h city.name %>', <%= city.id %>));
<% end %>
function stateSelected() {
states.id = $('states.id').getValue();
options = $('city.id').options;
options.length = 1;
cities.ready(function(city) {
if (city[0] == states.id) {
options[options.length] = new Option(city[1], city[2]);
}
});
if (options.length == 1) {
$('city.field').hide();
}
else {
$('city.field').show();
}
}
document.observe('dom:loaded', function() {
$('city.field').hide();
$('states.id').observe('change', stateSelected);
});