【问题标题】:Ruby on Rails - get Linux Root?Ruby on Rails - 获得 Linux 根?
【发布时间】:2013-10-06 01:57:23
【问题描述】:

我只是想获取根路径以在我的机器上查找文件,我对 RoR 很陌生。某处是否有某种变量,所以我可以做这样的事情:

def path
    return '{#ROOT}/some/path/file.txt'
end

我不想要 Rails 根,我想要机器根。

【问题讨论】:

  • “机器根”是/,我不明白这个问题。返回是多余的。不插入单引号字符串。
  • 你是什么意思“机器根”。在 unix 中总是 /
  • 哦...我已经好几年没接触过unix了! :)
  • 我喜欢 return... 我想 C# 的坏习惯
  • 是的,戒掉那个习惯 ;-)

标签: ruby-on-rails ruby ruby-on-rails-3.2 ruby-1.8.7


【解决方案1】:

只需将您的方法替换为:

def path
  "/some/path/file.txt"
end

由于根始终是 /,并且在 Ruby 中不需要返回。

【讨论】:

    【解决方案2】:

    如果您尝试获取文件路径,而不是 URL 路径,这将提供您的 rails 根文件夹的绝对文件路径:

    Rails.root
    

    从那里,您可以简单地将 rails 路径添加到文件中,因为您的 rails 目录结构应该是静态的:

    def path
        return "{#Rails.root}/some/path/file.txt"
    end
    

    【讨论】:

    • 任何关于否决票的解释都是非常有建设性的
    • 谢谢,已修复。我刚刚从问题中复制并粘贴了它
    • 另外,它在问题中说他们不想要rails root。因此,根据 OP,这并不能回答他们的问题。
    猜你喜欢
    • 2012-11-07
    • 1970-01-01
    • 2011-09-10
    • 1970-01-01
    • 1970-01-01
    • 2011-02-27
    • 2013-12-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多