微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

我的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你的变量:)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐