7

Trong tập tin dịch en.yml tôi, tôi có:Làm cách nào để ghi đè thông báo lỗi chung của bộ chuyển đổi hành động trong ruby-on-ray?

activerecord: 
    errors: 
    template: 
     header: 
     one: "1 error prohibited this {{model}} from being saved" 
     other: "{{count}} errors prohibited this {{model}} from being saved" 

Khi một activerecord/xác nhận lỗi xảy ra trong quá cách đăng nhập vào ứng dụng của tôi, thông báo lỗi:

"1 lỗi bị cấm phiên người dùng này đang được lưu "

được hiển thị (trong đó user_session là mô hình đang được sử dụng). Tôi muốn có nội dung như sau:

"Đã xảy ra lỗi để ngăn bạn đăng nhập vào tài khoản của mình".

Làm cách nào để ghi đè thông báo lỗi chung với thông báo cụ thể của tôi?

Trả lời

11

Tôi đã tìm thấy tuyến đường Rails (2.3.8) sau để dịch các thông báo lỗi (với i18n 0.6.0): Ngoài ra, đừng quên thay đổi định dạng full_messages sao cho nó tương ứng với thông điệp tùy chỉnh của bạn.

Dưới đây là ví dụ với mô hình "Ngựa", xác thực thuộc tính "tên" (không được để trống).

Trong mô hình của bạn (ứng dụng/mô hình/horse.rb):

validates_presence_of :name 

Trong file bản dịch của mình (config/miền địa phương/en.yml):

en: 
    activerecord: 
    errors: 
     models: 
     horse: 
      attributes: 
      name: 
       blank: "Hey, are you the horse with no name?" 
     full_messages: 
     format: "%{message}" 

Dưới đây là một liên kết đến trang hướng dẫn RoR nơi tôi tìm thấy trang này. Ngoài ra còn có một danh sách các thông điệp được yêu cầu cho mỗi biến thể xác nhận.

Ký hiệu và giá trị mặc định có thể thay đổi với các phiên bản sau này của Rails và/hoặc i18n.

0

Bạn cần tạo FormBuilder của riêng mình và thay đổi khóa dịch của nó.

+0

Cảm ơn. Tôi có cảm giác có một cách dễ dàng hơn để làm điều đó bằng cách thêm các mục bổ sung vào tệp dịch trong phần mô hình và thuộc tính, nhưng tôi chưa tìm thấy bất kỳ điều gì giải thích rõ ràng cách thực hiện. activerecord: -> lỗi: -> mô hình: AND activerecord: -> lỗi: -> thuộc tính: –

Các vấn đề liên quan