2015-11-23 377 views
4

我在使用裝飾器時遇到問題。我以前從來沒有用過,我一直在嘗試使用一個關於我一直在分解一些電子郵件的事情。使用裝飾器,(rails)無法推斷ActiveRecord :: Base的裝飾器

但是因爲我以前從未使用過一個,所以即使使用我的裝飾器做了非常簡單的事情,我也遇到了麻煩,並且我認爲它存在某種形式的安裝問題。我知道,除了我的小功能(又名gemfile等)之外的所有內容都是最新的和正確的。

我得到的錯誤是簡單地說,

無法推斷的ActiveRecord :: Base的一個裝飾。

現在我有一個幾乎是空的控制器,但在它裏面,我有這樣保存的活動記錄部分。

class Admin::ReceivedEmailsController < Admin::ApplicationController 

我的觀點被標題,

_receive_email.html.haml 

所有我在我截至目前視圖做的事情是這樣:

%td= received_email.decorate 

我的裝飾

class Admin::ReceivedEmailsDecorator < Admin::ApplicationDecorator 

def received_email 
if can? :update, @customer 
    received_email.content 
else 
    "You need to have the correct admin access to view the email" 
end 
end 

我覺得這必須是這樣的基本的東西讓我失蹤,但我不確定它是什麼。有人會知道我錯過了什麼嗎?

回答

2

經過更多的研究後,逆向工程進一步修飾器和閱讀更多文檔。我瞭解到需要模型或助手才能正確使用裝飾器。由於我的偏見,我沒有一個特定的模型或幫手使用。