Похоже, что вы сделали ошибку, когда встраивали Ruby: <% observe_field %>
ничего не вставляет, а <%= observe_field %>
вставляет вывод из функции.
Попробуйте это:
<%= observe_field 'person_country_id', :url => {:action => "update_state_div"}, :with => 'person_country_id'%>
Edit:
observe_field
был добавлен в дополнение к Prototype, библиотеке javascript , не включенной в Ruby on Rails 3. Этот вопрос также касается этой проблемы: Observe_field в рельсах 3 .
Если вы хотите использовать его, вы можете установить этот плагин , набрав
rails plugin install git://github.com/rails/prototype_legacy_helper
в консоль.
Кажется, это несовместимо с jQuery, поэтому вам, возможно, придется удалить jQuery или написать свой собственный javascript, чтобы делать то, что вы хотите.
Еще одно редактирование:
Этот вопрос решает проблему в обычных JavaScript / jQuery и HTML: jQuery Выбор цепочки Страна / Штат с помощью OptGroup . Вы должны иметь возможность изменить его для Ruby on Rails.