У меня есть модель ссылок, которая имеет все общие строительные леса, созданные для нее, однако, а не перейти на ссылку # новая страница, я хотел бы отправить форму с моей домашней страницы который заполняет новую запись.Отправить форму модели с моей домашней страницы
У меня есть только одно текстовое поле, но я не уверен, как построить форму. Я где-то читал, что вы должны указать контроллер в поле формы, но это, похоже, не работает.
<%= form_for(:link, @link) do |f| %>
<% if @link.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@link.errors.count, "error") %> prohibited this link from being saved:</h2>
<ul>
<% @link.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
<div class="field">
<%= f.label :url %><br />
<%= f.text_field :url %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
Спасибо, Билли. Это работает! Мне интересно - это создает объект при запуске домашней страницы? или это только один раз, когда я отправлю форму? Я задаюсь вопросом, есть ли способ создать объект, если форма отправлена ... если она уже не делает этого. – Adam
@Adam, этот объект в #new (или в вашем доме HomeController # home) предназначен для вашего здания формы, почти все его атрибуты равны нулю. Если вы заполните форму и представите, действие «пост» отправит значения того, что вы заполнили в приемнике, действие «создать». «#create» получит эти значения из param для создания другого нового объекта, который вообще не имеет отношения к первому. Этот объект готов к сохранению. Обычный процесс, если сохранить успех, вернется с успешным сообщением, если вы не вернетесь с сообщениями об ошибках. –