ここに新しい ROR プログラマーがいます。ユーザーが会社情報を入力するフォームに入力できる Web アプリケーションを構築しようとしています。[送信] をクリックすると、データベースに入力が追加されます。
現時点では、ユーザーが新しいエントリを作成すると、「会社名」などのいくつかのフィールドが表示されます。新しい会社を入力するための空白のボックスがあり、その隣には、ユーザーがデータベース内の既存の会社を表示するために使用できるドロップダウン メニューがあります。
<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)
抽出されたソース: <%= label :company_name %>
ご協力いただきありがとうございます!