8

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

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

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

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

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

4

1 回答 1

14

你的观察是准确的,你敏锐地观察到,:include_blank即使:prompt没有。

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

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

于 2011-06-24T23:26:47.670 回答