gpt4 book ai didi

ruby-on-rails - Rails - 用户选择值的数据库翻译

转载 作者:搜寻专家 更新时间:2023-10-30 23:39:01 27 4
gpt4 key购买 nike

在我的 Rails 应用程序中,有一个选择框,其中包含 fuel_types 的值,例如 Oil、Gas、Petroleum、Diesel。默认语言是 en 所以这很好。当用户将网站更改为法语时,这些数据应显示为法语,当用户提交表单时,数据应为 fr 但是,我无法使用

fr:
fuel_types:
oil: ""
gas: ""
petroleum: ""

因为那样的话数据库数据会混有fr和en两种语言。然后我必须在显示页面中显示这些数据,如果是 fr 或 en。

globalize3 gem 这可能吗?

我看到数据库中的静态内容可以用 globalize3 翻译,但是当用户填写表格时,根据语言环境变量,它是 fr 或 en,然后数据库将填充 en 和 fr 值,这几乎不可能搜索数据和过程。

顺便说一句:我有一个名为 fuel_types 的模型,其中包含名称 id 列,我将石油、天然气和石油值保存在选择标签中。然后我将它们保存到汽车模型中。

编辑

这样你是对的!但是,如果我有怎么办;

...
<%= f.collection_select(:fuel_type, Fuel.all, :name, :name, {}, class: "Select-control u-sizeFull") %>
...

我有一个名为 Fuel 的模型,这种燃料(属于汽车模型)应该被视为语言环境变量。那么应该用一种语言写到数据库呢?

最佳答案

因此对于已编辑的问题:第三个和第四个参数可以是响应调用的任何内容,因此不要在第四个参数中使用名称,而是使用 proc {|fuel| translate(fuel.name)} 或您拥有的任何其他翻译方法,只需在 proc 中调用即可。

关于ruby-on-rails - Rails - 用户选择值的数据库翻译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37512505/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com