Почему все помощники направляющих доступны всем представлениям все время? Существует ли способ отключить это?

sizeof(array) / sizeof(array[0])
89
задан Nate Smith 24 July 2009 в 19:59
поделиться

2 ответа

Ответ зависит от версии Rails.

Rails> = 3.1

Измените конфигурацию include_all_helpers на false в любой среде, где вы хотите применить конфигурацию. Если вы хотите, чтобы конфигурация применялась ко всем средам, измените ее в application.rb .

config.action_controller.include_all_helpers = false

Если задано значение false, пропустит включение .

Rails <3.1

] Удалите следующую строку из ApplicationController

helper :all

Таким образом, каждый контроллер будет загружать свои собственные помощники.

98
ответ дан 24 November 2019 в 07:12
поделиться

На самом деле в Rails 2 функциональность ActionController::Base по умолчанию включала все хелперы.

Изменения 6222 от 02/24/07 20:33:47 (3 года назад) by dhh: Сделать предположение по умолчанию, что вам нужны все помощники, все время (да, да)

change:

class ApplicationController < ActionController::Base 
  helper :all # include all helpers, all the time 
end 

Начиная с Rails 3 beta 1, это больше не так, как отмечено в CHANGELOG:

  • Добавлено, что ActionController::Base теперь делает helper :all вместо того, чтобы полагаться на стандартный ApplicationController в Rails для этого [DHH]
5
ответ дан 24 November 2019 в 07:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: