我正在尝试将Surveryor gem的调查结果呈现为CSV文件,但会收到“模板丢失”错误。
例如,localhost:3000/results/user-feedback-survey-1.csv
会产生:
Template is missing
Missing template results/show, application/show with {:handlers=>[:erb, :builder, :coffee, :haml], :formats=>[:csv], :locale=>[:en, :en]}. Searched in: * "/websites/surveyportal/app/views" * "/usr/local/lib/ruby/gems/1.9.1/gems/surveyor-0.21.0/app/views"
.json
的错误相同。我已将gem 'fastercsv'
添加到我的gem文件中。
有什么我想念的吗?我正在使用Rails 3.1.3。
答案 0 :(得分:0)
我确信有一个更好的方法,但我能够使用以下代码,我从Surveyor gem show.html.erb文件的删除版本中收集了这些代码。
<% csvString = "id, Code, " %>
<% @questions.each do |question| %>
<% next if question.display_order == 1 %>
<% csvString += "[" +question.display_order.to_s + "]" + question.text.to_s + "," %>
<% end %>
<% csvString += "\n" %>
<% @response_sets.each do |r_set| %>
<% csvString += r_set.id.to_s + "," + r_set.access_code.to_s %>
<% @questions.each do |question| %>
<% next if question.display_order == 1 %>
<% csvString += display_response(r_set,question).to_s + "," %>
<% end %>
<% csvString += "\n" %>
<% end %>
<%= csvString %>
我将其添加到/app/views/results/show.csv.erb
文件中。