Автозаполнение значений формы при редактировании с помощью направляющих - PullRequest
2 голосов
/ 02 ноября 2011

У меня есть форма, которую я скопировал из new.html.erb и поместил в edit.html.erb.По сути, мне нужна та же форма, но если в базе данных уже есть значения для полей формы, я хочу, чтобы они были внесены в форму для редактирования.В настоящее время у меня есть что-то вроде этого:

<%= form_for @user do |f| %>
<% if @user.errors.any? %>
<div class="error_messages">
  <h2>Form is invalid</h2>
  <ul>
    <% for message in @user.errors.full_messages %>
      <li><%= message %></li>
    <% end %>
  </ul>
</div>
<% end %>
<div class="field">
<%= f.label :name %>
<%= f.text_field :name %>
 </div>
 <div class="field">
<%= f.label :email %>
<%= f.text_field :email %>
</div>
<div class="field">
<%= f.label :password %>
<%= f.password_field :password %>
</div>
<div class="field">
<%= f.label :password_confirmation %>
<%= f.password_field :password_confirmation %>
</div>
.
.
.
.

<div class="actions"><%= f.submit %></div>
<% end %>

Как я могу извлечь из базы данных, чтобы заполнить поля с соответствующими значениями?

1 Ответ

5 голосов
/ 02 ноября 2011

Это произойдет автоматически, если вы установите @user в действие 'edit' вашего контроллера - что-то вроде

def edit
  @user = User.find(params[:id])
end

Вы также можете подумать о включении формы как частичной, а не повторять ее, чтобы высушить ваш код - эта ссылка дает общую идею

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...