因此,我正在开发应用程序,该应用程序将在罗德岛的一家新赌场处理许可证的背景检查。我构建了所有数据输入表单,构建了数据库,并用一些虚拟申请人填充了它。下一步是创建应用程序的实际功能,并将表与一个名为case的表绑在一起。
因此,作为New Case页面的一部分,我想要一些下拉菜单。现在这是我第一次使用这个框架,但我仍然无法相信我在下拉菜单中遇到了这么多困难。我用谷歌搜索了如何使用simple_form制作下拉菜单,这就是我得到的。
class Position
KEYS = [
CAGE_CASHIER = "Cage Cashier",
DEALER = "Dealer",
KEY_EMPLOYEE = "Key Employee",
SECURTIY = "Security",
SUPERVISOR = "Table Games Supervisor",
]
def self.keys
KEYS
end
def self.all
keys.map{|key| new(key)}
end
def initialize(key)
@key = key
end
def id
@key
end
def name
I18n.t(@key, scope: :"models.case.positions")
end
end
我的表单页面看起来像
<%= f.input :position, collection: Case::Position.all %>
现在,生成下拉菜单,起初一切看起来都不错,但是当您点击菜单查看您的选项时会出现以下错误:
translation missing: en.models.case.positions.my_position
我用谷歌搜索了这个错误信息以及我在过去一小时内阅读的所有内容,这让我很难与世界历史上所有其他偏头痛相抗衡。非常感谢任何帮助
由于 jpStearns
答案 0 :(得分:0)
您需要将此添加到config / locales / en.yml
en:
models:
case:
positions:
my_position: "Whatever you want for your message"
如果名称的值发生变化,最好不要使用i18n,因为它要求您将翻译添加到.yml文件中。