すべて、2つのドロップダウンボックスがあり、2つの異なるデータベーステーブルと1つの送信ボタンを備えたフォームから入力されます。私の目標は、フォームの送信時に2つの値を連結し、モデルに関連付けられたフォームに1つの値をデータベースに書き戻すことです。
もっと簡単に言うと、['red'、'green'、'blue']と['dog'、'cat']を選択できる2つのドロップボックス。ユーザーが「red」と「cat」を選択すると、送信ボタンによって新しいレコード「red-cat」(ブログ名モデルの下)が作成されます。
フォーム全体(new.html.erb)コード:
<%= select("subdomainw1", "blognamew1", Subdomainw1.order("blognamew1 ASC").collect {|p| [ p.blognamew1 ] }, {:prompt => 'Select Adjective'}) %>
<%= select("subdomainw2", "blognamew2", Subdomainw2.order("blognamew2 ASC").collect {|p| [ p.blognamew2 ] }, {:prompt => 'Select Noun'}) %>
<%= simple_form_for (@blogname) do |f| %>
<%= f.button :submit %>
<% end %>
関連するコントローラーdefcreateは次のとおりです。
def create
@blogname = Blogname.new(params[:blogname])
respond_to do |format|
@blogname.blogname = ?? THIS SHOULD BE A CONCATENATION OF THE VALUES FROM ABOVE SELECTS
if @blogname.save
format.html { redirect_to @blogname, notice: 'Blog was successfully created.' }
else
format.html { render action: "new" }
end
end
end
ここに何かアイデアはありますか?