2012-01-03 17 views
8

Tôi muốn tạo một chuỗi bao gồm đường dẫn cho một đối tượng trong Rails.Cách lấy url_for một đối tượng trong Phương thức mô hình trong Rails

def notification_content 
     "#{app.listing_url(my_listing, :host => "example.com")}. " + 
    end 

Nội dung này sau đó sẽ được đưa vào ActionMailer làm nội dung email.

Trong bảng điều khiển, nó hoạt động tốt. Tuy nhiên, khi tôi chạy nó trên máy chủ cục bộ, tôi nhận được lỗi sau:

undefined local variable or method `app' 

Tôi nên làm như thế nào? Ngoài ra, làm thế nào tôi có thể làm cho con đường trở thành một siêu liên kết?

Cảm ơn rất nhiều.

Trả lời

15
include Rails.application.routes.url_helpers 
def notification_content 
    "#{listing_url(my_listing, :host => "example.com")}. " + ... 
end 
+1

chi tiết tại đây http://stackoverflow.com/questions/341143/can-rails-routing-helpers-i-e-mymodel-pathmodel-be-used-in-models – clyfe

+0

Thanks a lot, clyfe! – AdamNYC

+12

Không cần bao gồm; bạn chỉ có thể gọi trực tiếp vào đối tượng đó: Rails.application.routes.url_helpers.url_for (...) –

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