在我的rails app上有一个选择框,其值为fuel_types,例如Oil,Gas,Petroleum,Diesel。默认语言是en所以这很好。 当用户将网站更改为法语时,这些数据应显示为法语,当用户提交表单时,数据应该在fr中,但我无法通过使用
fr:
fuel_types:
oil: ""
gas: ""
petroleum: ""
因为那时数据库数据将与fr和en语言混合使用。然后我必须在show页面中显示这些数据,如果是fr或en。
这可以用globalize3 gem
吗?
我看到数据库中的静态内容可以使用globalize3进行翻译,但是当用户填写表单时,根据locale变量,它是fr或en,那么数据库将填充en和fr值,这将使搜索几乎不可能数据和流程。
btw :我有一个名为fuel_types的模型,名称为id列,我保留了石油,天然气,石油价值以显示在选择标记中。然后我将它们保存到汽车模型中。
修改
这样你就对了!但是,如果我有,那该怎么办?
...
<%= f.collection_select(:fuel_type, Fuel.all, :name, :name, {}, class: "Select-control u-sizeFull") %>
...
我有一个名为Fuel的模型,这种燃料(属于汽车模型)应该被视为区域变量。那么应该用一种语言写入数据库?
答案 0 :(得分:1)
因此对于编辑过的问题:第三和第四个参数可以是响应调用的任何内容,因此不使用第四个参数中的name使用proc {|fuel| translate(fuel.name)}
或任何其他翻译方法,只需在proc中调用它。