新しいRORプログラマーがここにあります。私は、ユーザーが会社の情報を入力するフォームを完成させるWebアプリケーションを構築しようとしています。そして、submitをクリックすると、入力がデータベースに追加されます。Ruby on Rails:ユーザーが新しい情報を入力できるようにするか、ドロップダウンメニューをクリックして既存の情報を選択します
現在、ユーザーが新しいエントリを作成する場合、「Company Name」などのいくつかのフィールドが表示されます。新しい会社に入れるための空白のボックスがあり、その隣には、ユーザーがデータベース内の既存の会社を見るために使用できるドロップダウンメニューがあります。
<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") %>
私は、ユーザーが新しい会社を入力するか、ドロップダウンメニューをクリックして、既存の会社を選択することができるようにする方法を探しています。
現在: テキストボックスに何も入力されておらず、ドロップダウンからオプションを選択していない場合は、空白として保存されます。 何かが入力され、オプションが選択されていない場合は、空白として保存されます。 しかし、何かが入力され、何かがドロップダウンから選択された場合、ドロップダウンオプションが保存されます。
私はそれをあまりにも混乱させていないことを願っています。助けを借りていただければ幸いです。
ありがとうございます。
EDIT:新しいエラーは今
<%= 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") %>
:
私がアクションを作成し、今この
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
エンド
とフォームビューのように見えます引数の0間違った番号(2用1)
抽出されたソース: <% =ラベル:あなたの助けをCOMPANY_NAME%>
ありがとう!あなたは
<%= text_field :new_company_name %>
、その後でアクションを作成
@company = Company.new(params[:company])
@company.company_name = params[:new_company_name] unless params[:new_company_name].empty?
ユーザーがドロップダウンから何かを選択した場合、あなたは何を期待しますし、また何かを入力? – gabrielhilal
ユーザーが入力した入力が優先されると思います。 – Jazz