我仍然處於Rails學習曲線的相當陡峭的一面,所以請原諒這個問題的相當簡單的性質,但Google並沒有證明非常有幫助。訪問電子郵件模板中的變量的軌跡
所以,我的問題是這樣的。我有一個調用郵件的控制器。 (下面的代碼片段) 我似乎無法通過的問題是,無論我如何嘗試訪問rhtml頁面中的值,我都會收到錯誤或根本沒有任何結果。
這是控制器片斷(@person工作就好@item就是不工作。)
if params[:id] == 'username'
item_value = @user[:login]
elsif params[:id] == 'password'
item_value = @user[:new_password]
end
@item = { 'name' => params[:id], 'val' => item_value }
ApplicantMailer.deliver_forgot(@person.email, @person, @item)
這是郵件的方法片段:
def forgot(recipient, person, item, sent_at = Time.now)
@subject = 'Site Password Retrieval'
@body['person'] = person
@body['item'] = item
@recipients = '[email protected]'
@from = CONTACT_EMAIL
@sent_on = sent_at
@headers = {}
logger.debug @body.to_yaml
end
這是RHTML片段:
Dear <%= @person.first_name %>,
You are receiving this email because you or someone else has used the lost <%= @item[:name] %> page from the login page.
Your <%= @item[:name] %> for your account is: <%= @item[:val] %>
所以,就像我說的,當我嘗試訪問@item的值時,如果使用@i tem.name它拋出一個缺少的方法錯誤,如果我使用上面列出的版本,它不顯示任何內容。
我知道我正在使用散列&認爲嘗試訪問像我在這裏展示的密鑰是正確的方式。顯然,我在這裏錯過了一些東西。
有人可以指點我正確的方向嗎?謝謝!
我試過item [:name]&item [:value],並獲得缺少的方法錯誤。 – Skittles