Я создал несколько горизонтальных вкладок с помощью Twitter Bootstrap и я рендеринга формы внутри каждой из вкладок:Отправить кнопку вне form_for петли
<div class="tab-content">
<div id="tab1" class="tab-pane active">
<%= render :partial => "shipdr/websites/form", locals: {:@shipdr_website => shipdr_website} %>
</div>
<div id="tab2" class="tab-pane">
Another form (not yet implemented)
</div>
<div id="tab3" class="tab-pane">
Another form (not yet implemented).
</div>
</div>
Затем в shipdr/сайтов/форма у меня есть:
<%= simple_form_for(@shipdr_website) do |f| %>
<% if @shipdr_website.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@shipdr_website.errors.count, "error") %> prohibited this shipdr_website from being saved:</h2>
<ul>
<% @shipdr_website.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
<div class="field">
<%= f.input :name %>
</div>
<div class="field">
<%= f.input :url %>
</div>
<div class="field">
<%= f.input :api_key %>
</div>
<div class="actions">
<%= f.submit nil, :class => "btn btn-primary" %>
</div>
<% end %>
Я хочу переместить кнопку отправки за пределы области «табуляция», поэтому, когда пользователь нажимает кнопку «Отправить», отображаются все три области формы. Все формы будут использовать ту же самую модель и одно и то же действие, но будут иметь разное поле. Идея похожа на мастера, за исключением того, что я использую вкладки.
Кто-нибудь знает, как я могу перемещать кнопку отправки за пределы цикла form_for и как я могу представить три формы одной кнопкой?
Отлично, спасибо. Кажется, он работает, когда я перемещаю форму из частичного. Однако, когда я называю частичное, как вы описываете, я получаю неопределенную ошибку переменной для 'f'. Вы знаете, почему это так? – user1152142
Я отредактировал ответ. Некоторый плохой отформатированный код в рендеринге: частичный. –
Я также использую подобную систему с большой формой, распространяющейся на несколько вкладок. Однако одна «большая» форма имеет некоторые недостатки. В некоторых вкладках вы можете захотеть вставить какой-то не связанный с формой контент или какую-нибудь кнопку__ для другого пути POST. Способы нереста и передача данных через атрибуты данных являются обходным путем. –