0

関連付けの en.yml の検証メッセージに問題があります。

これは私が見ているメッセージです:
Name infos prev first name can't be blank

変更したい 2 つの点:
1.「名前情報」は関連付けられたモデルの名前であり、表示したくない
2.「前の名」は「前の名」と表示する必要があります


私はグーグルで検索し、さまざまなことを試してきました。私が見たところ、以下は「はず」ですが、そうではありません(アプリを再起動しました)。

**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"

しかし、それは違いはありません。

誰でもこれに光を当てることができますか?

4

1 に答える 1

2

形式は次のようになっていると思います (prev_first_nameは NameInfo モデルの属性であるため):

en:
  activerecord:
    attributes:
      name_info:
        prev_first_name: "Previous First Name"

モデル名 ( name_info) は単数形であり、複数形ではないことに注意してください。

于 2012-08-23T13:16:26.303 に答える