如何在 Rails 3.2 的 select 字段中的多个位置包含提示文本
How to include prompt text in multiple places in select field with Rails 3.2
有没有办法在我的 select 字段中插入提示用户的文本?即我的 select 下拉菜单可能看起来像
Select 你的联盟
美国橄榄球联盟
NHL
NBA
MLB
备用联赛
英超联赛
西甲
俄语 PL
这在 Rails 3.2 中可行吗?我有这段代码可以拉出我的主要选择 + 次要选择...我想在次要选择之前得到提示。
f.select("league_id", @leagues.collect {|league| [ league.name, league.id ] } + [nil] + @worldwide_leagues.collect {|league| [ league.name, league.id ] })
使用: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' )
有没有办法在我的 select 字段中插入提示用户的文本?即我的 select 下拉菜单可能看起来像
Select 你的联盟
美国橄榄球联盟
NHL
NBA
MLB
备用联赛
英超联赛
西甲
俄语 PL
这在 Rails 3.2 中可行吗?我有这段代码可以拉出我的主要选择 + 次要选择...我想在次要选择之前得到提示。
f.select("league_id", @leagues.collect {|league| [ league.name, league.id ] } + [nil] + @worldwide_leagues.collect {|league| [ league.name, league.id ] })
使用: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' )