У меня есть форма событий, у которой есть выбор для выпадающих мест. В настоящее время, если новое мероприятие должно быть добавлено к событию, пользователи должны перейти в форму места проведения, создать свое место, а затем вернуться к форме событий, которая не идеальна.Rails Ajax Form, чтобы добавить новую связанную запись
Я получил эту работу через AJAX, но это не совсем так. У меня есть ссылка на форму моих событий, которая вызывает модальный (twitter bootstrap), содержащий форму места проведения. Форма места проведения была установлена в :remote => true
, и на отправке она создает новое место, но модальная форма не закрывается, а выбор места проведения мероприятия не обновляется. Мне нужно вручную обновить страницу, чтобы подтвердить добавление нового места.
VenueController создавать действия выглядит следующим образом, с реагировать на заходящих format.js
def create
session[:return_to] ||= request.referer
@venue = Venue.new(params[:venue])
respond_to do |format|
if @venue.save
format.js
else
format.html { render :action => "new" }
end
end
end
В приложение/просмотров/мест у меня есть create.js.erb, который выглядит следующим образом:
$('#townvenue').html("<%= escape_javascript(render(@town_venue)) %>");
(Я почти уверен, что именно здесь я ошибаюсь).
#townvenue
является DIV в моей форме событий и сам частично расположен в приложение/просмотров/События/_town_venue.html.erb
<div id="townvenue">
<div>
<%= f.label :town_id, :class => 'control-label form_labels' %>
<%= f.collection_select :town_id, Town.order(:town), :id, :town, include_blank: true %>
</div>
<div>
<%= f.label :venue_id, "Venue", :class => 'control-label form_labels' %>
<%= f.grouped_collection_select :venue_id, Town.order(:town), :venues, :town, :id, :name, include_blank: true %><br /><a href="#myModal" role="button" data-toggle="modal">[Add new venue]</a><br />
</div>
</div>
Может кто-нибудь помочь с последними частями в этой головоломке, пожалуйста?
Теперь это выглядит очевидно, и я вижу, как это будет работать. Тем не менее, я пробовал его с использованием правильного идентификатора, и он, похоже, ничего не делает. Есть ли что-нибудь, что я могу сделать, чтобы подтвердить, что файл create.js.erb определенно называется правильно? – Raoot
Имеет ли значение, что параметры находятся в пределах групп opt? – Raoot
Да, вы должны добавить в optgroup, а не в меню выбора. – Vilelm