2011-03-01 57 views
2

在我的控制器中,我需要構建一個JSON對象。我如何在控制器內使用auto_link()?現在它的錯誤:如何使用控制器內的auto_link

NoMethodError (undefined method `mail_to' for #<ConversationsController:0x144c3f880>): 
    app/helpers/application_helper.rb:48:in `html_format' 
    app/controllers/conversations_controller.rb:326:in `comments' 
    app/controllers/conversations_controller.rb:322:in `comments' 

謝謝你的任何想法

回答

7

auto_link是一個幫手,你可以從是否視圖僅供參考。有一個原因:代表信息是一種觀點責任。

對於您的情況,請創建一個JSON模板,或者如果您真的確實需要在控制器中使用幫助器,請將ActionView::Helpers::TextHelper模塊包含在您的控制器中。

class ConversationController < ApplicationController 
    include ActionView::Helpers::TextHelper 
    include ActionView::Helpers::UrlHelper 
end 

您可能還需要包括人的依賴關係,如包含mail_to助手模塊。

+0

謝謝! (字面上這一整天工作,我試過你的建議,但仍然打破,錯誤「ActionView :: Template :: Error(未定義的局部變量或方法'控制器'爲#):」 – AnApprentice 2011-03-01 23:01:21

+0

我如何包括所有的mail_to helpers?另外,我該如何創建一個JSON模板,這聽起來很聰明,但我還沒有看到任何例子,現在我在控制器中構建一個數組(使用助手),然後渲染:json => @comments – AnApprentice 2011-03-01 23:02:08

+0

您可以創建一個JSON模板處理程序,就像Rails的Builder for XML一樣。 – 2011-03-02 08:57:32

相關問題