我正在尝试创建一个下拉菜单,允许用户更改表格中的条目字段.用户有三个选项之一 - 热,中和冷.
我已经text_fields对其他字段做了基本相同的事情,当用户点击a时都会更新submit_tag.
有没有一种简单的方法来实现一个下拉框并将结果保存在submit_tag?
谢谢,
-克里斯
Mar*_*rom 39
这是基本答案.两个元素数组的数组是关键部分.
<% form_for @entry do |f| %>
<%= f.text_field :name %>
<%= f.select :temperature, [['Hot','hot'],['Medium','medium'],['Cold','cold']] %>
<%= f.submit %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
kik*_*ito 23
我假设有两件事:
<%= form_for @model_instance成语(在本指南的第2.2节解释).假设您有两个字段,称为:name和:temperature由两个控制text_fields:
<% form_for @article do |f| %>
<%= f.text_field :name %>
<%= f.text_field :temperature %>
<%= f.submit "Create" %> <% end %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
现在您要将:温度控制更改为下拉列表,接受热,中,冷值.然后你可以这样做:
<% form_for @article do |f| %>
<%= f.text_field :name %>
<%= f.collection_select :temperature, Article::TEMPERATURES, :to_s, :to_s,
:include_blank => true
%>
<%= f.submit "Create" %> <% end %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
您现在必须Article::TEMPERATURES在文章模型中定义常量.这应该不是很困难:
class Article < Activerecord::Base
TEMPERATURES = ['hot', 'medium', 'cold']
Run Code Online (Sandbox Code Playgroud)
您可能想知道为什么我添加了:include_blank部分collection_select.这将在您的下拉列表中添加"空"选项.在创建新对象时,您将需要该空选项,除非您想要一个"默认"值到温度.
| 归档时间: |
|
| 查看次数: |
61306 次 |
| 最近记录: |