Ruby on rails 在某些情况下,Rails.root.join将丢失Rails.root路径
我想要的绝对路径是Ruby on rails 在某些情况下,Rails.root.join将丢失Rails.root路径,ruby-on-rails,ruby,ruby-on-rails-3,Ruby On Rails,Ruby,Ruby On Rails 3,我想要的绝对路径是/Users/Hsu Wei Cheng/Dropbox/Rails/zeus/public/uploads/local\u display\u multi\u lang/xml/8/results.zip /uploads/local\u display\u multi\u lang/xml/8/results.zip存储在local\u display\u multi\u lang.result 因此,我尝试使用Rails.root.join方法来获取系统中的绝对路径 通过
/Users/Hsu Wei Cheng/Dropbox/Rails/zeus/public/uploads/local\u display\u multi\u lang/xml/8/results.zip
/uploads/local\u display\u multi\u lang/xml/8/results.zip
存储在local\u display\u multi\u lang.result
因此,我尝试使用Rails.root.join
方法来获取系统中的绝对路径
通过Rails.root.join(“public”),本地\u显示\u multi\u lang.result.to\s)
但它不起作用,我得到了:/uploads/local\u display\u multi\u lang/xml/8/results.zip
我犯了什么错误?谢谢
[3] pry(#<#<Class:0x007fe7ae84f038>>)> Rails.root.join("public", local_display_multi_lang.result.to_s)
=> #<Pathname:/uploads/local_display_multi_lang/xml/8/results.zip>
[4] pry(#<#<Class:0x007fe7ae84f038>>)> Rails.root
=> #<Pathname:/Users/Hsu-Wei-Cheng/Dropbox/Rails/zeus>
[5] pry(#<#<Class:0x007fe7ae84f038>>)> local_display_multi_lang.result.to_s
=> "/uploads/local_display_multi_lang/xml/8/results.zip"
[6] pry(#<#<Class:0x007fe7ae84f038>>)> Rails.root.join("public")
=> #<Pathname:/Users/Hsu-Wei-Cheng/Dropbox/Rails/zeus/public>
[7] pry(#<#<Class:0x007fe7ae84f038>>)> local_display_multi_lang.result.to_s
=> "/uploads/local_display_multi_lang/xml/8/results.zip"
[8] pry(#<#<Class:0x007fe7ae84f038>>)> Rails.root.join("public", local_display_multi_lang.result.to_s)
=> #<Pathname:/uploads/local_display_multi_lang/xml/8/results.zip>
[9] pry(#<#<Class:0x007fe7ae84f038>>)> Rails.root.join("public", local_display_multi_lang.result)
=> #<Pathname:/uploads/local_display_multi_lang/xml/8/results.zip>
[3]pry(#)>Rails.root.join(“public”,local_display_multi_lang.result.to_s)
=> #
[4] 撬(#)>Rails.root
=> #
[5] pry(#)>本地显示多个lang.result.to
=>“/uploads/local\u display\u multi\u lang/xml/8/results.zip”
[6] pry(#)>Rails.root.join(“public”)
=> #
[7] pry(#)>本地显示多个lang.result.to
=>“/uploads/local\u display\u multi\u lang/xml/8/results.zip”
[8] pry(#)>Rails.root.join(“public”,local_display_multi_lang.result.to_s)
=> #
[9] pry(#)>Rails.root.join(“public”,local_display_multi_lang.result)
=> #
因为local\u display\u multi\u lang.result.to\u s
是一条绝对路径
试一试
谢谢,但现在我有一些在绝对路径中,一些在相对路径中。是否有任何内置功能可以修复?
Rails.root.join("public", local_display_multi_lang.result.to_s[1..-1])