0
Я пытаюсь настроить формат, когда я экономлю в XLS:Настройка в вопросе имени файла рельсы
- Я хочу, чтобы помочь пользовательская настройка = «Дата» + «ejecutive выбран» + «.xls»
Мои модели
class Policy < ActiveRecord::Base
unloadable
belongs_to :ejecutive
has_many :policy
def self.search(search)
if search
find(:all, :conditions => ["ejecutive_id = ? ", search.to_i ])
else
find(:all)
end
end
end
class Ejecutive < ActiveRecord::Base
has_many :policies
end
Вот мой контроллер. Здесь я кладу формат, который я пытаюсь настроить с датой + ejecutive выбран + .xls
class PolicyManagement::PolicyController < ApplicationController
def generate_print_ejecutive_comercial
@ejecutives = Ejecutive.find(:all)
@search = Policy.search(params[:search])
@policies = @search.paginate(:page => params[:page], :per_page =>10)
@results= Policy.search(params[:search])
respond_to do |format|
format.html
format.xls { send_data render_to_string(:partial=>"report_by_ejecutive"), :filename => Date + @ejecutives.name"reporte.xls" }
end
end
Вот мой взгляд
<% form_tag :controller=>"policy_management/policy",:action =>"generate_print_ejecutive_comercial", :method => 'get' do %>
<%= select_tag "search", options_for_select(@ejecutives.collect {|t| [t.name.to_s+" "+t.lastname1.to_s,t.id]}) %>
<%= submit_tag "Search", :name => nil %>
<% end %>
Results
<% @policies.each do |policy| %>
<p> <%= policy.num_policy%> </p>
<p> <%= policy.ejecutive.name %> </p>
<p> <%= policy.ejecutive.last_name %> </p>
<% end %>
<%= will_paginate @policies %>
<%= link_to "Export", :controller=>"policy_management/policy",:action=>"generate_print_ejecutive_comercial" ,:format=>"xls",:search => params[:search],:page => params[:page] %>
Я попробовал этот
respond_to do |format|
format.html
format.xls { send_data render_to_string(:partial=>"report_by_ejecutive"), :filename => Date + @ejecutive.name + ".xls" }
end
я использовал код и получил неопределенный метод 'имя«для ноля: NilClass –
я изменить его на @ ejecutives.name и я получил неопределенный метод 'имя» для # <Массив: 0x7f9286ddb560> –
Right. У вас есть только '@ejecutives = Ejecutive.find (: all)' и не один конкретный 'Ejecutive'. Попробуйте '@ ejecutives.first.name' – spickermann