在模型中使用Rails助手

7
可能重复:
如何在Rails中访问模型的视图助手

我知道这可能不是我经常做的事情,但我想在模型内部使用一个助手。 我正在Report模型中生成电子表格,并希望使用ActionView :: Helpers :: DateHelper中的time_ago_in_words方法。

这可行吗,还是我应该在视图中生成它?


重复?http://stackoverflow.com/search?q=rails+helper+in+model - Smar
1
实际上,这正是我要找的。搜索查询表明这是一份重复内容,但没有找到任何有用的东西。 - Douglas Lovell
1
这对我来说更好用:ApplicationController.helpers.my_helper_method - skozz
2个回答

17
你可以将模块包含在模型中,然后像在视图中一样使用它。
class Report
  include ActionView::Helpers::DateHelper
  ...
end

5
如果您只想使用助手模块中的一个方法,而不想include整个模块,那么这是可能的吗? - Jared Beck

0
class Post < ActiveRecord::Base
  include ActionView::Helpers::DateHelper

  def my_test_method(a, include_seconds = false)
    time_ago_in_words(a, include_second)
  end

 end

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接