2011-09-25 30 views
7

Có thể tùy chỉnh đường dẫn mẫu cho Rails 3.1 ActionMailers không? Theo mặc định, Rails sẽ hiển thị:Rails 3.1 Đường dẫn mẫu tùy chỉnh ActionMailer?

/app/views/[mailer_class] 

cho mẫu xem thư. Tuy nhiên, tôi muốn có nhiều thay tổ chức chúng trong:

/app/mailers/views/[mailer_class] 

hoặc ít nhất là:

/app/views/mailers/[mailer_class] 

Tôi biết điều này là có thể trong 2.3 thông qua tham số cấu hình ActionMailer của template_path, nhưng điều đó dường như bị phản đối như của Rails 3. Loại tùy chỉnh này không còn khả thi?

Trả lời

12

Loại tùy chỉnh này có thể vẫn còn. Có một vài cách khác nhau để thực hiện việc này tùy thuộc vào cách mà bưu phẩm của bạn được viết.

Nếu bạn có các khối định dạng như format.html, bạn có thể chuyển kết xuất '/ path/to/template'.

Hoặc nếu bạn chỉ là gọi mail() có hai tùy chọn để cài đặt đường dẫn và mẫu tên, mà bạn chỉ nên cần phải vượt qua tùy chọn đường dẫn:

mail(:template_path => 'mailers/[mailer_class]', :template_name => '[mailer_method]') 

Bạn nên kiểm tra Rails Hướng dẫn để biết thêm thông tin chi tiết.

http://guides.rubyonrails.org/action_mailer_basics.html#mailer-views

+2

Tôi đã xem tài liệu, nhưng tôi đã không tìm ra rằng template_path có liên quan đến/app/views. Cảm ơn! – odonnellt

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