1

使用 Ruby formhelper,

我希望用户在尝试提交带有任何空字段或未选中选择的表单时看到“填写此内容”之类的弹出窗口。

要要求一个文本字段,这有效:

<%= f.text_field :name, :required => "required" %>

要要求选择,我正在尝试这个,但它不起作用:

<%= f.collection_select :metric, Metric.all, :id, :name, :prompt => true, :required => "required" %> 

选择就在那里,它的选项在下拉列表中正确填充。但是,如果用户尝试提交而不选择默认的“请选择”以外的其他选项,则用户应该会看到一个弹出窗口——它永远不会出现。

4

1 回答 1

1

您需要将 Ruby 的select标签与 Ruby 的options_from_collection_for_select. 您可以将提示设置为true或添加自定义提示,并且required必须使用大括号并将其值设置为true。例如:

<%= select('trophy','metric', options_from_collection_for_select(Metric.find(:all), :id, :name),{:prompt => 'Select Metric'},{:required => true})%>

在哪里:

-trophy是实例变量或模型对象的名称

- metricis 是该实例变量的属性。这通常是您正在显示其数据的表的字段/列。

-:id是关键

-:name是结果

于 2013-07-31T17:43:33.820 回答