如何在控制器内使用auto_link

时间:2011-03-01 22:47:19

标签: ruby-on-rails ruby-on-rails-3

在我的控制器中,我需要构建一个JSON对象。如何在控制器中使用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'

感谢您提出任何想法

1 个答案:

答案 0 :(得分:7)

auto_link是一个助手,您只能从视图中引用。这是有原因的:代表信息是一种观点责任。

在您的情况下,要么创建一个JSON模板,要么如果您真的真的需要在控制器中使用帮助器,请在控制器中包含ActionView::Helpers::TextHelper模块。

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

您可能还需要包含其他依赖项,例如包含mail_to帮助程序的模块。