Ruby Sinatra显示CSV条目

Ruby Sinatra显示CSV条目,ruby,csv,sinatra,erb,Ruby,Csv,Sinatra,Erb,如何将csv文件中的数据显示到Sinatra应用程序中 西纳特拉: 雇员再培训局: 仅显示csv文件的最后一行。问题 使用此代码: csv = CSV.read(data.csv) csv.each do |entry| @output = "#{entry[1]},#{entry[4]}:#{entry[0]}" end 迭代所有csv行 对于每一行,该块定义@output变量 在第一行csv之后,代码继续覆盖@output\u变量 可能的解决办法 你需要的是,不是 然后您可以使用 &

如何将csv文件中的数据显示到Sinatra应用程序中

西纳特拉:

雇员再培训局:


仅显示csv文件的最后一行。

问题 使用此代码:

csv = CSV.read(data.csv)
csv.each do |entry|
 @output = "#{entry[1]},#{entry[4]}:#{entry[0]}"
end
迭代所有csv行

对于每一行,该块定义
@output
变量

在第一行csv之后,代码继续覆盖
@output\u变量

可能的解决办法 你需要的是,不是

然后您可以使用

<%= @data %>


在你看来
@data
现在是一个字符串数组,每个csv行有一个字符串。

您可能希望将
for
循环移动到模板文件

在西纳特拉

@csv_data = CSV.read(data.csv)
雇员再培训局

<% @csv_data.each do |entry| %>
  <%= entry[1] %>,<%= entry[4] %>:<%= entry[0] %>
<% end %>

,:
<%= @data %>
@csv_data = CSV.read(data.csv)
<% @csv_data.each do |entry| %>
  <%= entry[1] %>,<%= entry[4] %>:<%= entry[0] %>
<% end %>