У меня есть модель, которую нужно заполнить формой, состоящей из заголовка и текста. По желанию, я хочу возможность отправить ссылку, а также часть этой модели. Если это заполнено, оно отправляется, в противном случае игнорируется. Например, форма будет иметь поля заголовка и тела вверху страницы.
<%= form_for(@micropost, remote: true) do |f| %>
<div class="field">
<%= f.text_field :title %>
<%= f.text_area :content %>
</div>
<%= f.submit "Post" %>
<% end %>
Теперь я хочу добавить поле для ссылки, но в другом месте на странице (чтобы указать, что это необязательно).
<%= f.text_field :link %>
Я пытался сделать все это в одном фрагменте,
<%= form_for(@micropost, remote: true) do |f| %>
<div class="field">
<%= f.text_field :title %>
<%= f.text_area :content %>
<! insert other content here >
<%= f.text_field :link %>
</div>
<%= f.submit "Post" %>
<% end %>
Но это привело бы к очень грязному вложению партиалов, и я не уверен, как заставить это работать правильно , В качестве альтернативы мне было интересно, возможно ли иметь один form_for вверху страницы и другой form_for внизу страницы, которые как-то «синхронизируются», чтобы при нажатии кнопки подтверждения вверху вводилось значение в нижней форме также собраны и представлены.
<%= form_for(@micropost, remote: true) do |f| %>
<div class="field">
<%= f.text_field :title %>
<%= f.text_area :content %>
</div>
<%= f.submit "Post" %>
<% end %>
<%= form_for(@micropost, remote: true) do |f| %>
<! somehow sync this with the other form >
<%= f.text_field :link %>
<% end %>