ruby-on-rails-3 – Rails select_tag – 设置include_blank并选择默认值

前端之家收集整理的这篇文章主要介绍了ruby-on-rails-3 – Rails select_tag – 设置include_blank并选择默认值前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
select_tag :country_id,options_from_collection_for_select(Country.order('priority desc,name asc'),"id","name"),{ :prompt => 'Select a country',:include_blank => 'None' } %>

符合预期,除了:include_blank => ‘没有’.呈现空白选项.像这样:

<option value=""></option>

第二,使用select_tag.如何指定默认值.例如,如果我需要选择框来选择特定国家/地区.我尝试添加:selected => Country.first无济于事:

<%= select_tag :country_id,{ :prompt => 'Select` a country',:include_blank => 'None',:selected => Country.first } %>

以上始终选择“选择国家/地区”.

为什么?

解决方法

空白价值

我不认为这对其他帖子有足够的重视:

select_tag上的include_blank不尊重传递给它的字符串.它只将它解释为真/假值.

要为具有特定字符串的select_tag设置空白值,您需要使用提示.

选定的价值

由于select_tag不属于某个对象(选择方式),因此您需要将所选值指定为选项的一部分.将所选值传递给select_tag的选项参数.

在您的情况下,您使用options_from_collection_for_select来帮助生成这些选项.此方法采用第四个参数指定应选择哪个选项.

options_from_collection_for_select( 
  Country.order('priority desc,:id,:name,Country.find_by_name('Canada')
)
原文链接:https://www.f2er.com/ruby/267973.html

猜你在找的Ruby相关文章