2012-07-08 27 views
1

當我去刪除帖子我不斷收到寫着未定義的方法'破壞「的‘技術’:字符串

未定義的方法`摧毀一個錯誤」的‘技術’:字符串

帖子中的「tech」部分因我試圖刪除的帖子的標籤而異。我不確定問題是什麼。如果與此有任何關係,我正在使用acts_as_taggable_on

這是我破壞方法在我的職位控制器:

def destroy 
    @post = Post.find(params[:id]) 
    @post.destroy 

    respond_to do |format| 
     format.html { redirect_to(root_path) } 
     format.xml { head :ok } 
     format.json { head :ok } 
    end 
    end 

刪除按鈕在我的帖子顯示:

<%= button_to 'Delete', @post, :method => :delete, :confirm => "Are you sure?" %> 

標籤都保存在數據庫中的字符串。

回答

0

不可能給你一個解決你的問題的答案,因爲你沒有給出任何代碼也沒有例子。

儘管如此,這個錯誤意味着您要對字符串調用destroy方法,而Ruby中的字符串沒有定義的destroy方法。

檢查你在哪裏調用銷燬,因爲它似乎是你在一些函數返回一個字符串(在你的情況下的標籤名稱)。您必須在作爲Tag類的實例的對象上執行此操作。

+0

對不起,我的問題最初不是特定的,我希望這是更多的問題與我使用的寶石可以回答沒有代碼,而不是我的代碼中的錯誤,因爲我已經在其他代碼沒有寶石的應用程序並沒有問題。至於調用摧毀一個實例的對象,你能告訴我一個例子。我還是比較新的編程,所以我會很感激這個幫助。謝謝。 – 2012-07-08 08:18:16

+0

當然,如果你有一個這樣的對象:tag = Tag.new,那麼你可以調用它的方法,例如:tag.getName,在這種情況下它可以返回標籤的名字,這是一個字符串。所以如果你做了這樣的事情:tag.getName.destroy,你會試圖摧毀返回的字符串,而不是標籤本身。所以你必須確保銷燬對象:tag.destroy – 2012-07-08 09:23:10

相關問題