加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails-4 – Rails 4 I18n:在关联验证消息中使用人体模

发布时间:2020-12-17 02:06:45 所属栏目:百科 来源:网络整理
导读:我有一个简单的对象,如: class Question ActiveRecord::Base belongs_to :company validates :company,presence: trueend 并且我无法获得验证消息的I18n以使用人工模型名称来显示错误消息. 我将密钥“activerecord.models.company”存储为“Firma”(德语),
我有一个简单的对象,如:

class Question < ActiveRecord::Base
  belongs_to :company
  validates :company,presence: true
end

并且我无法获得验证消息的I18n以使用人工模型名称来显示错误消息.

我将密钥“activerecord.models.company”存储为“Firma”(德语),当我在Company.model_name.human时,它按预期返回“Firma”.
但它仍然在错误消息中显示为“公司”,直到我存储“activerecord.attributes.question.company”.

这很烦人,因为我需要为验证与Company的关联的每个模型添加属性键(即“activerecord.attributes.user.company”,“activerecord.attributes.project.company”).

有没有办法引用人体模型名称而不是属性?

解决方法

我认为这是因为在你的形式中,公司的字段依赖于“has_many”关系,通过fields_for helper,在模型中也使用“accepts_nested_attributes”:

我说你有……

通知

<%= question.fields_for companies do |c| %>


在模型中

class Question<ActiveRecord::Base
  has_many :companies
  accepts_nested_attributes_for :companies,:allow_destroy => :true

我认为(直到现在)这是正常的…因为“问题”的公司可以有一个名称,“项目”的公司可以有另一个名称,依此类推

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读