2011-03-01 21 views
2

我需要格式化json對象,這就是爲什麼我需要包含幾個helper。Rails - 如何在控制器中包含mail_to helper

到目前爲止,我已經在我的控制下:

include ApplicationHelper 
    include ActionView::Helpers::TextHelper 
    include ActionView::Helpers::TagHelper 

這偉大工程simple_format,問題是當comment.content有一個電子郵件地址,導軌改掉做一個mailto鏈接打破,顯示出在日誌中的以下錯誤:「NoMethodError(未定義的方法`mail_to'爲...」

有關如何添加它的任何想法?我試圖添加包括ActionView :: Helpers :: UrlHelper但沒有工作。

謝謝

+0

我得到這個錯誤解決了這個,當我包括UrlHelper:「未定義的局部變量或方法'控制器」 – AnApprentice 2011-03-01 18:23:11

+0

任何想法嗎? – AnApprentice 2011-03-01 19:18:21

+0

我無法弄清楚 – TheExit 2011-03-01 21:05:10

回答

10

在執行「查看」任務(如生成鏈接)時,您可以在控制器中使用view_context。關於它的好處是你不必包括視圖助手在你的控制器。

例如在你的控制器中,你可以創建一個變量,它將是一個鏈接到link_to的html鏈接。

link = view_context.link_to("link", your_awesome_path(@awesome)) 

我沒有測試過這一點,但你應該希望能夠做到這一點在你的控制器:

email_link = view_context.mail_to(@user.email) 

RyanB使用view_context在paper_trail railscast:255-undo-with-paper-trail

不知道這將解決你的問題,因爲不知道你用JSON助手等做什麼,但它可能會有所幫助。

1

我已經通過以下

class CrazyPresenter 
    include Rails.application.routes.url_helpers 
    include ActionView::Helpers::TextHelper 
    include ActionView::Helpers::TagHelper 
    include ActionView::Helpers::UrlHelper 

    def controller 
    nil 
    end 

end 
相關問題