2017-02-02 60 views
1

我做驗證這樣的重命名錶:validates :name_user, presence: true 但我想更改消息在該領域「name_user」的名稱:「列name_user不能爲空」出現「列名不能爲空「如何驗證

+0

http://guides.rubyonrails.org/active_record_validations.html#validation-helpers –

+2

爲什麼叫第一名稱列'name_user'而不是'first_name'或'forename'擺在首位? – max

回答

4

在您的語言環境中設置」name_user「的翻譯。您可以更改字段的名稱以及錯誤消息的確切用詞。

# config/locales/en.yml 
en: 
    activerecord: 
    attributes: 
     user: 
     name_user: "First name" 
    errors: 
     models: 
     user: 
      attributes: 
      name_user: 
       blank: "is required" 

你可以擴展它的附加字段,甚至其他機型...

# config/locales/en.yml 
en: 
    activerecord: 
    attributes: 
     user: 
     name_user: "First name" 
     surname_user: "Last name" 
     department: 
     created_year: "Year established" 
    errors: 
     models: 
     user: 
      attributes: 
      name_user: 
       blank: "is required" 
+0

感謝您的回答。如果我必須爲幾個模型做到這一點,我可以將它們全部包含在同一個模塊中,還是必須爲每個模塊設置一個模塊? – LuisC

+0

我修改了答案以顯示如何處理更多字段和模型。 – SteveTurczyn

+0

非常感謝我的朋友,這項工作 – LuisC

1

可以使用message選項這一點,因爲Rails的手冊中描述here

validates :name_user, presence: { message: "First name cannot be blank" } 

現在你所有的錯誤都會使用那個奇怪的東西。你甚至可以引用傳入的值(如Rails指南中所述)。

+1

它會工作嗎?據我所知,它會顯示這樣的消息「名字用戶名不能爲空」。它連接列名和消息 – Anwar