2012-09-11 78 views
1

所以我想寄出一份由控制器定期定義的類變量的報告。但是在郵件程序中,我必須再次定義它們?有沒有辦法不重複這個?我已經考慮過將它更多地轉移到模型上,但最終它仍然是相同數量的定義。梅勒使用與___控制器相同的控制器代碼

回答

0

您不必再次定義它們,您可以將它們從控制器作爲參數傳遞給郵件程序方法。

假設你需要@ ivar1,@ ivar2和您的郵件@ ivar3所有你需要做的就是從控制器運行這個命令:

MyMailer.some_email(@ivar1, @ivar2, @ivar3).deliver 

編輯:

有你的問題第二次看(和我的回答),我想我可能誤解了它的第一位。

在我的解決方案中,您仍然需要重新定義實例變量。這些值傳遞正確,但你仍然要:

def some_email(v1, v2, v3) 
    @ivar1 = v1 
    @ivar2 = v2 
    @ivar3 = v3 
end 

沒有辦法用在控制器中定義的相同實例變量。

+0

好吧,謝謝你的回答。我可能會用散列做這個,因爲有很多變量。 – Julian