【问题标题】:Select prompt option disappears when validation fails in Rails在 Rails 中验证失败时选择提示选项消失
【发布时间】:2010-10-30 21:22:17
【问题描述】:

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

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

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

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

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

【问题讨论】:

  • 在您的选择助手中使用 :prompt 会消失,但使用 :include_blank 不会。把它们关掉,我的提示就不再消失了。

标签: ruby-on-rails select prompt


【解决方案1】:

您的观察是准确的,并且您敏锐地观察到即使:prompt 不存在,:include_blank 仍然存在。

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-14
    相关资源
    最近更新 更多