让我先说我是Rails和StackOverflow的菜鸟,所以请放轻松我。我在我的开发箱上使用Rails 2.3.8和sqlite3。
我使用以下内容在表单中创建了一个选择下拉列表:
<%= select( "communication", "gig_id", { "Add New Gig" => "new"}, {:prompt => "-- Select Gig --"}, :onchange => "toggle(this, 'gigInfo')") %>
但是,当表单中的其他内容未通过验证并重新呈现“新”页面时,我的提示消失,剩下的唯一选项是“添加新的Gig”选项。我的所有表格都是这种情况,我似乎无法找到任何答案。
我的控制器使用基本脚手架,所以我有点不知所措。任何帮助将不胜感激。
答案 0 :(得分:12)
您的观察结果是准确的,即使:include_blank
没有:prompt
,您也会敏锐地发现:include_blank
仍然存在。
您可以通过将:prompt
设置为您用于提示的字符串(它不需要是布尔值)来实现您想要的结果。
new
。当您的应用重新呈现gig_id
视图时, 一个值来提供该字段,因为它创建了一个通信模型的实例。 (它无法保存该实例,但看起来该实例设置了{{1}}字段。)