Ruby on Rails :позволяет пользователю вводить новую информацию ИЛИ щелкнуть раскрывающееся меню, чтобы выбрать существующую информацию

Новый программатор ROR здесь. Я пытаюсь создать веб-приложение, которое позволяет пользователю заполнять форму, в которой он вводит информацию о компании, и, нажимая кнопку «Отправить», добавляет ввод в базу данных.

На данный момент, если пользователь должен создать новую запись, он увидит несколько полей, например, «Название компании». Для них есть пустое поле для ввода новой компании, а рядом с ним есть раскрывающееся меню, которое пользователь может использовать для просмотра существующих компаний в базе данных.

<div class="field">
<%= f.label :company_name %><br />
<%= f.text_field :company_name %>

<%= f.label :company_name %><br />
<%= f.select( :company_name, Company.all.map {|p| [p.company_name]}.uniq!, :prompt => "Select a Company") %>

Я ищу способ разрешить пользователю вводить новую компанию ИЛИ щелкнуть раскрывающееся меню и выбрать существующую компанию.

На данный момент :Если в текстовое поле ничего не введено и ни один параметр из раскрывающегося списка не выбран, оно сохраняется как пустое. Если что-то введено и ни один параметр не выбран, он сохраняется как пустой. Однако, если что-то введено и что-то выбрано из раскрывающегося списка, параметр раскрывающегося списка сохраняется.

Надеюсь, я не сделал это слишком запутанным. Любая помощь вообще будет оценена.

Заранее спасибо.

РЕДАКТИРОВАТЬ:

Мое действие создания теперь выглядит так

 def create
@company = Company.new(params[:company])
@company.company_name = params[:new_company_name] unless params[:new_company_name].empty?

respond_to do |format|
  if @company.save
    format.html { redirect_to @company, notice: 'Company was successfully created.' }
    format.json { render json: @company, status: :created, location: @company }
  else
    format.html { render action: "new" }
    format.json { render json: @company.errors, status: :unprocessable_entity }
  end
end

конец

и вид формы:

<%= label :company_name %><br />
<%= text_field :new_company_name %>

<%= f.label :company_name %><br />
<%= f.select( :company_name, Company.all.map {|p| [p.company_name]}.uniq!, :prompt => "Select a Company") %>

Новая ошибка теперь:

неправильное количество аргументов (1 вместо 2)

Извлеченный источник :<%= метка :компания _название %>

Спасибо за вашу помощь!

9
задан Jazz 18 July 2012 в 00:32
поделиться