en.yml中的验证消息存在关联问题。
这是我看到的信息:
名称信息prev名字不能为空
我要改变的两件事:
1.“名称信息”是相关模型的名称,我不希望它出现
2.“prev first name”应改为“Previous First Name”
我一直在谷歌搜索,搜索和尝试不同的东西。从我所看到的,下面的“应该”工作,但它不是(我甚至重新启动了应用程序)。
**contact_info.rb:**
class ContactInfo < ActiveRecord::Base
has_many :name_infos
accepts_nested_attributes_for :name_infos, :allow_destroy => true
end
**name_info.rb:**
class NameInfo < ActiveRecord::Base
belongs_to :contact_info
validates :prev_first_name, :presence => true,
:if => :name_subcat_is_first_name?
private
def name_subcat_is_first_name?
subcat == 'first'
end
end
**routes.rb:**
resources :users do
resources :contact_infos do
collection do
get 'get_full_fields'
get 'clear_fields'
end
resources :name_infos
end
end
**en.yml:**
en:
activerecord:
attributes:
contact_info:
name_infos:
prev_first_name: "Previous First Name"
每当我在控制台中测试它时,它都不会改变:
irb(main):050:0> ContactInfo.human_attribute_name("prev_first_name")
=> "Prev first name"
irb(main):051:0> NameInfo.human_attribute_name("prev_first_name")
=> "Prev first name"
我试过了:
**en.yml:**
en:
activerecord:
attributes:
users:
contact_info:
name_infos:
prev_first_name: "Previous First Name"
但它没有什么区别。
有人能说清楚这个吗?
答案 0 :(得分:2)
我认为格式是这样的(因为prev_first_name
是NameInfo模型的一个属性):
en:
activerecord:
attributes:
name_info:
prev_first_name: "Previous First Name"
请注意,型号名称(name_info
)是单数,而不是复数。