所有,我有两个下拉框,它们由两个不同的数据库表和一个带有单个提交按钮的表单填充。我的目标是在表单提交时连接这两个值,并将单个值写回数据库到与模型关联的表单中。
更简单地说:两个 Dropbox 允许选择 ['red','green','blue'] 和 ['dog','cat']。用户选择“red”和“cat”,提交按钮创建一个新记录“red-cat”(在 blogname 模型下)。
整个表单(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 %>
与关联的控制器def create为:
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
这里有什么想法吗?