Rails简单表单 - 选择提示消息时下拉输入错误

时间:2013-11-16 23:06:40

标签: ruby-on-rails forms simple-form

我正在使用Rails 4和Simple Form来创建一个表单,我向用户询问一堆数据。我按以下方式将一个下拉选择器包含到模型关联中:

<%= f.association :location, collection: Location.order("LOWER(name)").all, required: true, include_blank: false, prompt: "Choose location..." %>

但是,当用户没有主动选择任何内容并在下拉列表中选择默认提示消息时,我收到undefined method 'name' for nil:NilClass错误。

如何让应用将用户发送回表单并突出显示他需要在下拉列表中选择一个位置?就像当你有一个必需的输入字段并且没有提供数据时那样......

谢谢!

1 个答案:

答案 0 :(得分:1)

在表单中添加required: true实际上并不会使:location成为模型的必需属性。

您需要将以下内容添加到模型中:

validates :location, presence: true