如何使用Rails 3.2在选择字段中的多个位置包含提示文本

时间:2016-03-20 22:17:38

标签: ruby-on-rails ruby-on-rails-3

有没有办法在我的选择字段中插入提示用户的文字?即我的选择下拉列表可能看起来像

选择你的联赛

NFL

NHL

NBA

MLB

替代联赛

EPL

西甲

俄罗斯PL

这是否可以在Rails 3.2中使用此代码来提取我的主要选择+次要选择...我想在次要选择之前提示。

f.select("league_id", @leagues.collect {|league| [ league.name, league.id ] } + [nil] + @worldwide_leagues.collect {|league| [ league.name, league.id ] })  

1 个答案:

答案 0 :(得分:1)

使用:prompt => true

f.select("league_id", @leagues.collect {|league| [ league.name, league.id ] } + [nil] + @worldwide_leagues.collect {|league| [ league.name, league.id ] }, :prompt => true)

如果您想要自定义文字,也可以像:prompt => 'please take an option'一样使用。

更进一步,如果您想确保您的用户选择一个,请在您的模型上添加状态验证。

编辑:

根据您的评论,我认为您正在寻找的是分组选项。试试这个:

grouped_options = {'Leagues' => @leagues.collect {|league| [ league.name, league.id ] }, 'Alternate Leagues' => @worldwide_leagues.collect {|league| [ league.name, league.id ] } }

f.select(:league_id, grouped_options_for_select(grouped_options), :prompt => 'Select your league' )