加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – Rails选择选项 – 将第一个选项设置为已禁用,

发布时间:2020-12-17 02:08:53 所属栏目:百科 来源:网络整理
导读:我的Rails表单中有一个选择输入 – %= f.select :store_type_id,@storeType.map{ |type| [type.store_type.capitalize,type.id] },{include_blank: 'Select store type'} % 如何才能使第一个选项(“选择商店类型”)被禁用和选择? 我想要的html等价物 option
我的Rails表单中有一个选择输入 –

<%= f.select :store_type_id,@storeType.map{ |type| [type.store_type.capitalize,type.id] },{include_blank: 'Select store type'} %>

如何才能使第一个选项(“选择商店类型”)被禁用和选择?

我想要的html等价物

<option disabled selected>Select store type</option>

谢谢!

解决方法

没有办法(本机地)这样可以确保跨浏览器功能,但这里有一个答案:

# on store types 
def self.options
  options = self.all.collect { |type| [type.capitalize,type.id] } 
  options.unshift(["Select Store Type","0"])
  options
end 

# in your form 
<%= f.select :store_type_id,options_for_select(StoreType.options,:disabled => "0") %>

但是,您依赖于浏览器来选择禁用的输入,这将自相矛盾. Chrome最新转到下一个非禁用输入.

相反,您可能希望进行一些表单验证,以确保select的值不为空.

为了让未来的Ruby开发人员感到高兴(并使自己与常规和最佳实践保持一致),请记住Ruby认可snake_casing你的变量:)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读