M0NSTERC4T
@M0NSTERC4T
Front End Engineer in Live Typing

Как добавить новое поле в модель Ruby On Rails?

Вобщем есть модель. Создал миграцию типа rails g migration AddEmploymentToGuests. Поле в базу данных добавилось добавил инпут в guests#new для ввода этого поля вот сама страница guests#new
<%= form_for(@guest) do |f| %>
  <% if @guest.errors.any? %>
    <div id="error_explanation">
      <h2><%= pluralize(@guest.errors.count, "error") %> prohibited this guest from being saved:</h2>

      <ul>
      <% @guest.errors.full_messages.each do |message| %>
        <li><%= message %></li>
      <% end %>
      </ul>
    </div>
  <% end %>

  <div class="field">
    <input placeholder= "Ваше имя" type="text", name= "guest[first_name]", id="guest_first_name" required>
  </div>
  <div class="field">
      <input placeholder = "Ваша фамилия" type="text", name = "guest[second_name]", id = "guest_second_name" required>
  </div>
  <div class="field">
      <input placeholder = "Email" type="email" name = "guest[email]", id ="guest_email" required>
  </div>
  <div class="field">
      <input placeholder = "Номер телефона" type="text" required name="guest[phone_number]" id ="guest_phone_number">
  </div>
  <%= f.text_field :employment %>
  <div class="actions">
    <%= f.submit %>
  </div>
<% end %>

После чего ввожу данные в поля, жму кнопку, но данные с employment не отправляются. Поле это точно добавилось в модель, вот вырезка из debug:
raw_attributes:
  id: 16
  first_name: asd
  second_name: asda
  email: wqoio@gmail.com
  phone_number: '8123'
  created_at: '2016-03-06 15:54:37.993403'
  updated_at: '2016-03-06 15:54:37.993403'
  employment:

но вот данные туда почему то не отправляются
  • Вопрос задан
  • 689 просмотров
Решения вопроса 1
@kunashir
Ruby/Rails программист
Скорее всего надо в контроллере добавить в разрешенные параметры (permit params).
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы