Rails和Rake任务 - 如何在rake任务文件中定义的自定义类中调用Rails方法

时间:2013-01-14 16:34:40

标签: ruby-on-rails ruby rake

我在"Rails Root"/lib/tasks/example.rake中有以下代码:

task :example_task => :environment do
  e = Example.new
  e.example_method
end

class Example
  def example_method
    select_tag 'Example'
  end
end

当我在rake任务中调用e.example_method时,我收到错误"undefined method 'select_tag' for #<Example:0x39f58b0>"

select_tag是一种Rails方法:http://api.rubyonrails.org/classes/ActionView/Helpers/FormTagHelper.html#method-i-select_tag

如何使select_tag通话工作?

2 个答案:

答案 0 :(得分:0)

您需要帮助您尝试使用的方法。对于select_tag,您需要ActionView

答案 1 :(得分:0)

你可以:

通过辅助变量访问辅助方法:

helper.content_tag :li, "Helola" 
=> "<li>Helola</li>"

或要求所需的助手

require "#{RAILS_ROOT}/app/helpers/some_helper.rb"
include SomeHelper