0

I have defined a method in controller that is like:

def self.dailymail
  ....  #fill data from db

  ac = ActionController::Base.new()  
  kit = PDFKit.new(ac.render_to_string(:action => "formatinhtml.html.erb",:rawdata => data))
  pdf = kit.to_pdf
 ...   #send pdf in mail
 end

formatinhtml is like:

def formatinhtml
    @dailyrep = params[:rawdata]
    respond_to do |format|
      format.html # daily.html.erb
    end
end

I have to use self.dailymail so that I can call it from model & in turn from rufus scheduler.
But,still I get error such as:

scheduler caught exception:
Missing template action_controller/base/daily.html with {:locale=>[:en], :formats=>[:html, :text, :js, :css, :ics, :csv, :png, :jpeg, :gif, :bmp, :tiff, :mpeg, :xml, :rss, :atom, :yaml, :multipart_form, :url_encoded_form, :json, :pdf, :zip, :xls], :handlers=>[:erb, :builder, :coffee]}. Searched in:
  * "F:/DEVELOPMENT/TrackIt/app/views"
C:/Ruby193/lib/ruby/gems/1.9.1/gems/actionpack-3.2.8/lib/action_view/path_set.rb:58:in `find'
C:/Ruby193/lib/ruby/gems/1.9.1/gems/actionpack-3.2.8/lib/action_view/lookup_context.rb:109:in `find'...

so,what does I need to do?


Update: After debugging,I found action formatinhtml is not actually being getting called;I have defined neccessary routes.

BenMorel
  • 34,448
  • 50
  • 182
  • 322
Chirag Rupani
  • 1,675
  • 1
  • 17
  • 37

1 Answers1

3

Your folder where "daily.html" is located is not the same as your controller

dan1d
  • 151
  • 1
  • 4