虽然我意识到您应该在视图中使用帮助器,但我需要在控制器中使用帮助器,因为我正在构建要返回的 JSON 对象。
它有点像这样:
def xxxxx @comments = Array.new @c_comments.each do |comment| @comments << { :id => comment.id, :content => html_format(comment.content) } end render :json => @comments end
如何访问我的html_format助手?
html_format
注意: 这是在 Rails 2天内编写并接受的;
您可以使用
helpers.<helper>
ActionController::Base.helpers.<helper>
view_context.<helper>
@template.<helper>
singleton.helper
include
选项 1: 可能最简单的方法是将您的帮助模块包含在您的控制器中:
class MyController < ApplicationController include MyHelper def xxxx @comments = [] Comment.find_each do |comment| @comments << {:id => comment.id, :html => html_format(comment.content)} end end end
选项 2: 或者您可以将辅助方法声明为类函数,并像这样使用它:
MyHelper.html_format(comment.content)
如果您希望能够将其用作实例函数和类函数,则可以在帮助程序中声明这两个版本:
module MyHelper def self.html_format(str) process(str) end def html_format(str) MyHelper.html_format(str) end end
希望这可以帮助!