Использование рельсов для обновления HTML в Redbox - PullRequest
0 голосов
/ 14 февраля 2012

У меня есть приложение, которое использует 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 произвести правильную замену и отобразить второй тег выбора.

Кто-нибудь делал что-нибудь подобное или предлагал другие способы попробовать?

1 Ответ

0 голосов
/ 15 февраля 2012

Я смог понять это.Вы спросили о прототипе против jquery отправил меня по пути, и я обнаружил, что я использовал метод replace_html неправильно.Вместо того, чтобы пытаться скрыть div и отображать его при изменении первого выбора, я изменил его так, чтобы он загружал нужные теги выбора.Теперь это работает, и поле выбора изменяется должным образом в зависимости от того, что выбрано при первом выборе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...