Ruby on Rails 表单选择

Jak*_*ake 2 forms ruby-on-rails drop-down-menu

大家好,我是 Rails 新手,我有一个关于表单中选择框的问题。这是我现在的代码。

<%= form_for @message do |f| %>
  <%= f.text_field :name %>
  <%= f.select :topic ['Test1', 'test2']
<% end %>
Run Code Online (Sandbox Code Playgroud)

现在,此代码适用于提交文本框中的信息,但由于某种原因,不适用于选择框中的信息。然而我的主要问题是,有没有一种方法可以使选择框和轨道自动包含:“请选择一个选项”,这样当我validates_presence_of :topic在选择框上执行此操作时,如果没有更改,它将返回 false?

另外,你们中有人认为您知道为什么选择框不向我的数据库提交信息吗?

提前致谢!

Wiz*_*Ogz 5

是的,你想要的事情很容易做到。只需将一对值(占位符文本和空白值)添加到选择选项的开头即可。尝试这个:

<%= f.select :topic, [['Please select an option', nil], 'Test1', 'test2'] %>

  • 至于字段未保存到数据库,也许您需要将 `:topic` 添加到 `attr_accessible` 属性列表中。 (2认同)