Tôi đang sử dụng đá quý và muốn dịch thư xác nhận. Tôi đã có mẫu và bưu phẩm ghi đè của riêng tôi phương pháp:Tạo mẫu thư riêng và bản địa hóa riêng
class LocalizedDeviseMailer < Devise::Mailer
def confirmation_instructions(record, locale)
@locale = locale
super
end
end
Vì vậy, trong mẫu của tôi, tôi có thể làm một cái gì đó như thế:
I18n.locale = @locale
Và sau đó:
t("it.really.works")
Nhưng tôi don 't biết làm thế nào để vượt qua biến của tôi với miền địa phương để phương pháp gửi thư. Cách tốt nhất để làm điều đó là gì? Bất kỳ trợ giúp sẽ được đánh giá cao.
Cảm ơn bạn đã trả lời. Tôi đã cố gắng giải pháp đó, nhưng nó không thành công khi tôi đã không có miền địa phương trong đường dẫn và các mẫu là tùy chỉnh (được thực hiện bởi tôi, không được cung cấp bởi devise). Thật không may, tôi không thể thay đổi định tuyến, vì vậy có lẽ chỉ có giải pháp là thêm trường địa phương trong Mô hình người dùng. – zachar
Bạn có thể chỉ định ngôn ngữ mặc định trong các tuyến đường của mình http://guides.rubyonrails.org/i18n.html 'scope" (: locale) ",: locale =>/en | it/do tài nguyên: người dùng kết thúc' và mẫu tùy chỉnh của bạn sẽ được sử dụng thay thế (mẫu được ghi đè từ' đường dẫn tạo ra: lượt xem ') –
tất nhiên, nhưng tôi không được phép làm điều đó trong dự án này. Nó không phụ thuộc vào tôi lần này. Dù sao, cảm ơn sự giúp đỡ. Tôi đã phải thêm thuộc tính miền địa phương vào mô hình người dùng, và bây giờ nó hoạt động giống như một sự quyến rũ. – zachar