Tôi có các thuộc tính có xác nhận đặc biệt khi tôi sử dụng mệnh đề tin nhắn để hiển thị một thông báo đặc biệt chỉ để xác thực. Dưới đây là một ví dụ:Ruby on Rails i18n - Muốn dịch các tin nhắn tùy chỉnh trong các mẫu
validates :email, presence: true, length: { maximum: 60 },
format: { with: valid_email_regex, message: "is not a valid email address format." },
uniqueness: { case_sensitive: false }
Tôi muốn dịch thư ở đây nhưng tôi không chắc chắn cách thực hiện.
Tôi đã xem các ví dụ khi chúng nhập nội dung như sau: message: t ("some_value_here"). Tôi không chắc về tên gọi. Tôi đã thử một cái gì đó như tin nhắn này: t (: bad_email). Tôi đã làm như sau trong tập tin yaml của tôi chỉ để thử một cái gì đó.
activemodel:
errors:
bad_email: "is not a valid email address format."
Khi tôi cố gắng truy cập vào ứng dụng Rails của tôi, tôi đã nhận lỗi sau:
ActionView::Template::Error (undefined method `t' for #<Class:0x007fefc1b709e0>)
Tôi cũng đã cố gắng này trong tập tin yaml tôi:
activemodel:
errors:
user:
bad_email: "is not a valid email address format."
Tôi đã được nghiên cứu này tắt và cả ngày dài. Tất cả những gì tôi có thể tìm thấy là thay thế các băm lỗi tích hợp như trống hoặc trống. Có cách nào để tôi có băm lỗi tùy chỉnh và thay thế chúng trong mô hình? Tại thời điểm này tôi không thể có được t để làm việc như mã hóa. Hy vọng của tôi là vấn đề là làm thế nào tôi có tập tin yaml của tôi được thiết lập. Tôi đã thấy các phiên bản khác nhau về cách thiết lập điều này. Tôi không chắc chắn nếu tôi nên đặt điều này dưới activemodel hoặc activerecord. Tôi giả sử activemodel vì đó là nơi thông điệp tùy chỉnh mà tôi muốn dịch.
Mọi trợ giúp sẽ được đánh giá cao. Đây là phần cuối cùng tôi cần tìm hiểu trước khi phát hành bản dịch đầu tiên của ứng dụng.
CẬP NHẬT 2013/07/29 19:30 CDT
bgates đã cho tôi một sự khởi đầu rất tốt với làm thế nào để cài đặt tập tin mô hình của tôi để nhận được thông báo tùy chỉnh trong file YAML. Tuy nhiên tôi đã phải thực hiện các thiết lập sau trong tập tin yaml của tôi cho các tin nhắn tùy chỉnh được tìm thấy.
activerecord:
errors:
models:
user:
attributes:
bio:
no_links: "cannot contain email addresses or website links (URLs)."
email:
bad_email: "is not a valid email address format."
username:
bad_username: "can only contain numbers and letters. No special characters or spaces."
tôi thiết lập của tôi mô hình và yaml tập tin. Tôi có một bản dịch bị thiếu cho activerecord.errors.models.user.attributes.email.bad_email. Tôi đặt thay đổi tôi đã thực hiện trong tệp yaml của mình trong mô tả của mình. Nó hoạt động tốt. THANKS SO MUCH CHO GIÚP TÔI BẮT ĐẦU. –
Tôi đã phải sử dụng 'activemodel' thay vì' activerecord' làm khóa cấp cao nhất của tôi. Bạn có thể tìm thêm chi tiết trong phần [Nguồn lỗi] (https://github.com/rails/rails/blob/ccbc98e37dcc11ad5150b93dcee8008bc94aa83a/activemodel/lib/active_model/errors.rb#L465-L472). – Nick
Bí quyết tuyệt vời, cảm ơn bạn –