2011-04-26 15 views
23

में त्रुटि फ़ील्ड नाम बदलें मैं सोच रहा हूं कि सत्यापन नाम के लिए फ़ील्ड नाम बदलने का कोई तरीका है या नहीं। उदाहरण के लिए, यदि मैं बिना किसी डेटा के पहले नाम (वास्तव में fname) सबमिट करता हूं, तो यह Fname can't be blank.रेल

क्या यह First Name can't be blank पर बदलना संभव है?

उत्तर

60

सामान्य व्यवहार अब आजकल संपादित करने के लिए है अपने locals तो जैसे:

# config/locales/en.yml 
en: 
    activerecord: 
    attributes: 
     user: 
     fname: "First Name" 

आपका त्रुटि संदेश अब कहेंगे "पहला नाम नहीं हो सकता ..."

पूर्णता के लिए खातिर, आपके पास दूसरा विकल्प है। जो आपके उपयोगकर्ता मॉडल में निम्नलिखित जोड़ना है:

class User < ActiveRecord::Base 

    HUMANIZED_ATTRIBUTES = { 
    :fname => "First Name" 
    } 

    def self.human_attribute_name(attr) 
    HUMANIZED_ATTRIBUTES[attr.to_sym] || super 
    end 

end 
+1

+1। लेकिन मुझे लगता है कि 'def self.human_attribute_name (attr)' की आवश्यकता नहीं है। – Swanand

+13

रेल 4 में मुझे 'self.human_attribute_name (attr)' विधि कॉल में दूसरा तर्क जोड़ना पड़ा। तो यह 'self.human_attribute_name (attr, विकल्प = {}) बन जाता है – Peter