2016-02-28 4 views
2

В Rails 4.2.5, в приложение/Config/application.rb, я заметил этот кусок кода в верхней части файла:Почему application.rb не использует require_relative()?

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

Q1: Разве это не то же самое, как это? :

require_relative('boot') 

Q2: Если эти две такие же, кто-нибудь есть какие-либо идеи, почему рельсы использует прежний код и не последний? Похоже, что последний бит кода короче и яснее и поэтому будет предпочтительнее.

ответ

1

Большой вопрос. Вероятно, это просто перерыв, когда Rails поддерживает Ruby 1.8.7, так как require_relative не был введен до Ruby 1.9. Но поскольку поддержка 1.8.7 была удалена с Rails 4.0, нет причин, по которым вместо этого нельзя использовать require_relative. Я предполагаю, что никто не думал изменить его в прошедшие годы, поскольку он работает так, как есть. Кроме того, я не уверен, что сделать код Rails более понятным и понятным для всех является приоритетом для основной команды Rails.

Смежные вопросы