У моего приложения есть окно выбора для пользователей, чтобы выбрать «место». Это поле выбора, как и следовало ожидать, в форме. У меня также есть действие где-то на странице, которая создает новое место через AJAX. После создания нового места я хотел бы обновить поле выбора места, чтобы отразить это.Можно ли разместить элемент рельсов в частичном?
Моим решением было поместить поле выбора в частичное и отобразить частичное из действия create в контроллере.
<div id="venue_select" style="clear: both;">
<%= render :partial => 'venue/venue_select_box' %>
</div>
Частичные выглядит следующим образом:
<%= f.collection_select :venue_id, @user_venues, :id, :name, :prompt => 'Select a venue' %>
где F является формой ссылка:
<% form_for :shows do |f| %>
Проблема заключается в том, что е не определено в частичной, так что я получаю сообщение об ошибке , Одним из решений было бы включить всю форму, но я чувствую, что это не обязательно, потому что я не обновляю всю форму. Любые идеи о том, как это сделать?
Это работает с точки зрения, но мне нужно будет визуализировать и с контроллера. В поле выбора извлекаются данные, которые могут быть обновлены через AJAX, и поэтому этот запрос на обновление подскажет контроллеру, чтобы снова отобразить частицу ... а затем «f» снова не определено – Tony
А, извините, я не видел необходимости AJAX в вашем вопросе. В следующий раз мне следовало бы прочитать немного более внимательно ... Я просто обновил свой ответ тем, что может вам помочь. – vrish88
Как бы вы это сделали с Rails 3/4 и UJS? Проблема, с которой я сталкиваюсь, заключается в том, что вы не можете получить какую-либо часть формы, не помещая form_for внутри тега печати, который затем печатает всю форму. –