2016-02-28 48 views
2

在Rails 4.2.5,在應用程序/配置/ application.rb中,我發現這段代碼在文件的頂部:爲什麼不application.rb使用require_relative()?

require File.expand_path('../boot', __FILE__) 

Q1:這難道不是一樣的嗎? :

require_relative('boot') 

Q2:如果這兩個都一樣沒有任何人有,爲什麼Rails使用原代碼中的任何想法,而不是後者?看起來代碼的後一位更短更清晰,因此更可取。

回答

1

偉大的問題。這可能僅僅是Rails支持Ruby 1.8.7時的延續,因爲直到Ruby 1.9才引入require_relative。但是自從1.8.7支持在Rails 4.0中被拋棄後,沒有理由不使用require_relative。我的猜測是,在這幾年間沒有人想過要改變它,因爲它是按原樣運作的。另外,我不確定讓Rails代碼庫更清晰和更容易理解是Rails核心團隊的首要任務。

相關問題