Я хотел бы знать, каким способом лучше всего решить мой вопрос:
У меня есть форма для выбора людей через поле выбора.Если имя отсутствует в поле выбора, доступно текстовое поле для непосредственного добавления имени человека.
- Форма в new.html.erb
является форматом действия new
контроллера Team
.
- Список людей извлечен из модели People
.
def new<br>
@team = Team.new<br>
@people = People.all<br>
end
Я создал атрибут в модели Team
для хранения текстового поля new_person
:
class Team < ActiveRecord::Base<br>
attr_accessor :new_person<br>
...<br>
end
Наконец, вот выдержка из моего взгляда:
<%= f.select :person_id, @people.map { |p| [p.name, p.id] } %><br>
<%= f.text_field :new_person %>
Очевидно, я хотел бы сохранить нового человека втаблица Person
перед сохранением данных из формы.Как обычно, идентификатор сохраняется вместо имен
На данный момент у меня есть две проблемы:
1 / Массив params имеет ключ new_person
, который не имеет таблицы.Поэтому невозможно использовать метод Team.new(params[:team])
.Существует ли простое решение, чтобы избежать этой проблемы?2 / Как мне нужно person_id, как я могу получить его, когда имя происходит из поля new_person
?При использовании метода before_filter
?
Большое спасибо,
Camille.