You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Rails使用options_for_select时如何设置select_tag下拉框默认选中值

解决方案

你遇到的问题由两处错误导致,按以下步骤修改即可实现预期效果:

  • 首先修正下拉选项的文本笔误:现有代码里的选项文本写为"from 3.0000.000",多了一个0,直接改成你需要展示的"from 3.000.000"即可,700万对应的选项文本同步修改。
  • 其次修正选中逻辑:options_for_select的第二个参数本身就用于指定要选中的选项值,不需要额外加selected: 'salary'配置,不生效的核心原因是参数类型不匹配:你设置的选项值是整数类型的3_000_000/7_000_000,而params[:salary]默认是字符串类型,类型不一致时无法匹配到对应选中项,转为整数即可。

修改后的代码参考如下:
如果你需要页面加载默认选中300万的选项:

= select_tag(:salary, options_for_select( [["from 3.000.000", 3_000_000],
                                           ["from 7.000.000", 7_000_000]],
                                           3_000_000 ), 
                                           class:"form-select bg-light h-100") 

如果你需要根据params[:salary]动态选中对应选项:

= select_tag(:salary, options_for_select( [["from 3.000.000", 3_000_000],
                                           ["from 7.000.000", 7_000_000]],
                                           params[:salary]&.to_i ), 
                                           class:"form-select bg-light h-100") 

内容的提问来源于stack exchange,提问作者Hà Mai

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 22:54:04