在Rails中验证失败时,选择提示选项会消失

时间:2010-10-30 21:22:17

标签: ruby-on-rails select prompt

让我先说我是Rails和StackOverflow的菜鸟,所以请放轻松我。我在我的开发箱上使用Rails 2.3.8和sqlite3。

我使用以下内容在表单中创建了一个选择下拉列表:

<%= select( "communication", "gig_id", { "Add New Gig" => "new"}, {:prompt => "-- Select Gig --"}, :onchange => "toggle(this, 'gigInfo')") %>

但是,当表单中的其他内容未通过验证并重新呈现“新”页面时,我的提示消失,剩下的唯一选项是“添加新的Gig”选项。我的所有表格都是这种情况,我似乎无法找到任何答案。

我的控制器使用基本脚手架,所以我有点不知所措。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:12)

您的观察结果是准确的,即使:include_blank没有:prompt,您也会敏锐地发现:include_blank仍然存在。

您可以通过将:prompt设置为您用于提示的字符串(它不需要是布尔值)来实现您想要的结果。

似乎只有当Rails没有提供给定字段的值时才会出现{p> new。当您的应用重新呈现gig_id视图时, 一个值来提供该字段,因为它创建了一个通信模型的实例。 (它无法保存该实例,但看起来该实例设置了{{1}}字段。)