我有一个遗留数据库,其中包含一个国家/地区表,该国家/地区具有不同语言的国家/地区名称。
这些列是:
country_de
country_en
country_fr
country_it
我的应用程序使用 i18n.locale,现在我想用特定的语言环境参数填充国家 collection_select。
我知道我可以使用简单的 if else 或 switch 并静态设置参数但是有没有办法在一行中做到这一点?
英语的工作示例:
<%= f.collection_select :country_id, Country.order('country_en ASC'), :id, :country_en, {prompt: t("select_country")} %>
我目前正在尝试但无法正常工作的是:
<%= f.collection_select :country_id, Country.order('country_'+locale.to_s+' ASC'), :id, "country_"+locale.to_s+"".to_sym , {prompt: t("select_country")} %>
语言环境将是de
, en
, it
, 或fr
当然。
我的错误是:
no implicit conversion of Symbol into String
谢谢您的帮助