Geo*_*ayi 1 ruby listbox ruby-on-rails
如何将选定的值从下拉列表传递给Ruby中的控制器?
<select>
<option value="0">New</option>
<option value="1">SubCategory1</option>
<option value="2">SubCategory2</option>
<option value="3">SubCategory3</option>
</select>
Run Code Online (Sandbox Code Playgroud)
我这里有一个问题是我的代码
<select name="category_id">
<option value="0">New Category</option>
<% for category in categories %>
<option value="<%= category.id %>"><%= category.name %></option>
<% end %>
</select>
def create
if params[:category_id] == 0
@category = Category.new(params[:category])
respond_to do |format|
if @category.save
end
else
@subcategory = Subcategory.new(params[:subcategory])
respond_to do |format|
if @subcategory.save
....
end
end
end
end
Run Code Online (Sandbox Code Playgroud)
params [:category_id] == 0永远不会执行,因为没有将值0传递给控制器.我怎么解决它?
为select选择一个name属性.提交表单后,您将在params哈希中找到所选选项的值.
例如
<select name="category_id">
<option value="0">New</option>
<option value="1">SubCategory1</option>
<option value="2">SubCategory2</option>
<option value="3">SubCategory3</option>
</select>
params[:category_id]
Run Code Online (Sandbox Code Playgroud)