我如何在 Rails 上读取 Ruby 中的文件
How can i Read a file in Ruby on Rails
我是 rails 的新手,我尝试阅读 txt.file,它看起来像这样:
ThomasLinde ; PeterParker ; Monday
JulkoAndrovic ; KeludowigFrau ; Tuesday
JohannesWoellenstein ; SiegmundoKrugmando ; Wednesday
现在我想读取 .txt 文件的每个 "column" 以将其显示在我的应用程序的页面上。
我对代码的想法是这样的:
if (File.exist?("Zuordnung_x.txt"))
fi=File.open("Zuordnung_x.txt", "r")
fi.each { |line|
sa=line.split(";")
@nanny_name=sa[0]
@customer_name=sa[1]
@period_name=sa[2]
}
fi.close
else
@nanny_name=nil
@customer_name=nil
@period_name=nil
flash.now[:not_available] = "Nothing happened!"
end
这是我的想法,但他只给了我一行。有任何想法吗?或者如果我使用 @nanny_name
?
我只能读一行
您只需要一个具有数组值的变量,并将每一行推送给它。
@result = []
if (File.exist?("Zuordnung_x.txt"))
fi=File.open("Zuordnung_x.txt", "r")
fi.each do |line|
sa=line.split(";")
@result << {nanny_name: sa[0], customer_name: sa[1], period_name: [2]}
end
fi.close
else
flash.now[:not_available] = "Nothing happened!"
end
在视图模板上,您需要每个 @result
,例如
<% @result.each do |row| %>
<p><%= "#{row[:nanny_name]} serve the customer #{row[:customer_name]} on #{row[:period_name]}" %><p>
<% end %>
可选:
如果只使用split
,你可能会得到一些在字符串开头或结尾有空格的字符串
"ThomasLinde ; PeterParker ; Monday".split(';')
=> ["ThomasLinde ", " PeterParker ", " Monday"]
要处理它,您需要 strip
数组的每个值,如下所示:
"ThomasLinde ; PeterParker ; Monday".split(';').map(&:strip)
=> ["ThomasLinde", "PeterParker", "Monday"]
我是 rails 的新手,我尝试阅读 txt.file,它看起来像这样:
ThomasLinde ; PeterParker ; Monday
JulkoAndrovic ; KeludowigFrau ; Tuesday
JohannesWoellenstein ; SiegmundoKrugmando ; Wednesday
现在我想读取 .txt 文件的每个 "column" 以将其显示在我的应用程序的页面上。 我对代码的想法是这样的:
if (File.exist?("Zuordnung_x.txt"))
fi=File.open("Zuordnung_x.txt", "r")
fi.each { |line|
sa=line.split(";")
@nanny_name=sa[0]
@customer_name=sa[1]
@period_name=sa[2]
}
fi.close
else
@nanny_name=nil
@customer_name=nil
@period_name=nil
flash.now[:not_available] = "Nothing happened!"
end
这是我的想法,但他只给了我一行。有任何想法吗?或者如果我使用 @nanny_name
?
您只需要一个具有数组值的变量,并将每一行推送给它。
@result = []
if (File.exist?("Zuordnung_x.txt"))
fi=File.open("Zuordnung_x.txt", "r")
fi.each do |line|
sa=line.split(";")
@result << {nanny_name: sa[0], customer_name: sa[1], period_name: [2]}
end
fi.close
else
flash.now[:not_available] = "Nothing happened!"
end
在视图模板上,您需要每个 @result
,例如
<% @result.each do |row| %>
<p><%= "#{row[:nanny_name]} serve the customer #{row[:customer_name]} on #{row[:period_name]}" %><p>
<% end %>
可选:
如果只使用split
,你可能会得到一些在字符串开头或结尾有空格的字符串
"ThomasLinde ; PeterParker ; Monday".split(';')
=> ["ThomasLinde ", " PeterParker ", " Monday"]
要处理它,您需要 strip
数组的每个值,如下所示:
"ThomasLinde ; PeterParker ; Monday".split(';').map(&:strip)
=> ["ThomasLinde", "PeterParker", "Monday"]