Как передать параметры из Rails в wicked_pdf - PullRequest
0 голосов
/ 24 мая 2018

У меня есть это действие,

  def email_student_report
   @current_year = Time.new.year
   @past_year = @current_year - 1
  end

Используя эту ссылку на,

<%= link_to 'Email', samplecardreport_path(format: :pdf), :class => 'btn btn-warning termact_btns' %>

Я называю это действие и создаю документ PDF с wicked_pdf

  def sample_card_report
   @subjects = Subject.all
   @properties = Property.first
   @studentid = Student.where('studentid = ?', params[:email_search_stuent_id]).last!
   #@studentid = Student.where('studentid = ?', 'EkGSS-181').last!
   @studentresults = TermReport.where('studentid =? and term =? and form_class =? and year =?', params[:email_search_stuent_id], params[:term], params[:form_class], params[:year])
   @totalstudent = TermReport.group('form_class, term, year, studentid').where('form_class =? and term =? and year =?', params:form_class],params[:term],params[:year],)

   respond_to do |format|
    format.html
    format.pdf do
     render pdf: 'student_report_card',
     template: "term_reports/sample_card_report.pdf.erb"
    end
   end
  end

Теперь моя проблема в том, что сгенерированный PDF-документ пуст.А отладка показывает, что параметры формы не передаются, поэтому запрос выбирается пустым.Как я могу решить эту проблему?

1 Ответ

0 голосов
/ 24 мая 2018

Вам нужно будет отправить параметры вручную из тега link_to, используя приведенное ниже:

<%= link_to 'Email', samplecardreport_path(format: :pdf, param1: value1, param2: value2), :class => 'btn btn-warning termact_btns' %>

В вашем случае это будут следующие параметры

<%= link_to 'Email', samplecardreport_path(format: :pdf, email_search_stuent_id: value1, term: value2,form_class: value3, year: value4), :class => 'btn btn-warning termact_btns' %>

Также синтаксис вэта строка также неверна, она отсутствует [в параметрах класса формы

@totalstudent = TermReport.group('form_class, term, year, studentid').where('form_class =? and term =? and year =?', params:form_class],params[:term],params[:year],)

правильно

@totalstudent = TermReport.group('form_class, term, year, studentid').where('form_class = ? and term = ? and year = ?', params[:form_class],params[:term],params[:year],)
...