Ruby on rails打印目录

时间:2014-08-01 10:19:22

标签: ruby-on-rails ruby arrays ruby-on-rails-4 directory

我对ruby和RoR很新,所以请原谅我的新手。 我想在rails应用程序中打印给定目录中的完整文件夹列表。以下是我在show.html.erb文件中使用的代码。

<%= dir = Dir.entries(path_to_my_directory) 
      dir.each do |folder|
      puts folder
      end %>

Dir.entries方法返回一个数组,其中包含指定目录中所有文件夹的名称。我遍历这个数组并打印每一个值。 但是在我的应用程序中,这将打印完整的数组,如下所述。

[".", "metadata.rb", "attributes", "libraries", "CHANGELOG.md", "recipes", "..", "files", "templates", "providers", "resources", "definitions", "README.md"] 

我尝试了其他方法遍历数组,但输出保持不变。单独运行时此代码会产生预期的输出,但是当从我的视图中运行时,它似乎不起作用。关于我可能出错的地方的任何建议。 提前谢谢。

1 个答案:

答案 0 :(得分:1)

您无法在erb中使用puts。找出<% %>(处理Ruby代码)和<%= %>(处理和输出附带的Ruby代码)之间的区别。你想做的是:

<% 
dir = Dir.entries(path_to_my_directory) 
dir.each do |folder|
%>
  <%= folder %>
<% end %>