我有三个名为Account
,User
和AccountPermission
的模型。
我在创建用户时通过Account
创建了AccountPermission
。
但是,如果出现与Account:name相关的问题,系统会抛出类似下面的内容。
Account permissions account name has already been taken
所以,我只需要修复此错误消息。
我尝试在验证中添加消息属性。它只是附加到实际消息。
我也尝试过locale。仍然只是追加
en:
activerecord:
errors:
models:
account:
attributes:
name:
taken: 'bla bla'
据我在ActiveModel
中看到的那样。此消息的结构来自下面的
ActiveModel中的locale / en.yml
en:
errors:
format: "%{attribute} %{message}"
那么,有没有办法编辑这个消息无痛?如果我甚至删除了型号名称,那就足够了。
答案 0 :(得分:1)
错误消息与错误本身和属性名称连接,属性名称在提供的错误中为account_permissions/account.name
。
您可以为属性名称添加区域设置,如下所示:
en:
activerecord:
attributes:
account: # this is model name
name: "Name"
或
en:
activerecord:
attributes:
account_permissions/account:
name: "Account name"