У меня есть приложение, которое использует redbox для получения пользовательского ввода. Я пытаюсь добавить в поля выбора, которые будут динамически обновляться в зависимости от сделанного выбора. Вот представление с полями выбора, которое вызывается ссылкой link_to_remote_redbox:
<div id="select_div">
<%= select_tag "group_select", options_for_select(GROUP_LIST), :onchange => remote_function(:url => {:controller => 'webs', :action => 'update_group'}, :with => "'group='+value") %>
<div id="name" style="display:none"><%= select_tag "select", options_for_select(params[:group], default) %></div>
</div>
Метод контроллера:
def update_group
group = params[:group]
case group
when "ONE"
group = GROUP_ONE
when "TWO"
group = GROUP_TWO
when "THREE"
group = GROUP_THREE
end
render :update do |page|
page.replace_html 'name', "style=\"display:inline\"", :object => group
end
end
Благодаря тестированию я смог увидеть, что метод update_group вызывается при изменении первого выбора, и он отправляет правильную группу, которая должна отображаться во втором окне выбора. По какой-то причине я не могу заставить функцию replace_html произвести правильную замену и отобразить второй тег выбора.
Кто-нибудь делал что-нибудь подобное или предлагал другие способы попробовать?