ruby on rails目录浏览器

时间:2013-03-18 00:29:48

标签: ruby-on-rails ruby

我正在尝试编写一个简单的RoR应用程序,列出特定路径中的所有目录,然后允许我单击该文件或目录以打开文件或打开目录。我正在使用以下代码列出目录,但我无法弄清楚如何从这里打开文件或目录。单击目录时,我收到“无路由匹配[GET]”/选择文件“错误。

controller
    @file = Dir.foreach ("/specifiedpath/")

view
<% @file.each do |file| %> 
    <tr>
        <td><%= link_to file, file %></td>
    </tr>
<% end %> 

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

您的routes.rb中需要看起来像这样的内容:

get '/browse/*path' => 'browse#show', as: :browse

browse_controller中,您需要执行以下操作的show操作:

class BrowseController < ApplicationController

  def show
    @path = params[:path] || '/some/default'
    @files = Dir.foreach(path)
  end

最后,在您的browse/show.html.haml(我更喜欢HAML,抱歉)视图中,如下所示:

- @files.each do |file|
  %tr
    %td= link_to file, browse_path(File.join(@path, file))

(原谅我,如果这一切都没有成功 - 没有时间来完全测试一个充实的解决方案 - 但如果你自己无法让它自己工作,我可以再深入研究一下。)< / p>