Жизненный цикл приложений направляющих

Используйте DecimalFormat для этого случая, что-то вроде:

    double mean = 0.592993499999999;
    NumberFormat formatter = new DecimalFormat("#0.000000000000000");
    System.out.println(formatter.format(mean));
25
задан Mike Woodhouse 30 March 2009 в 11:12
поделиться

3 ответа

application_controller.rb

ApplicationController является родительским классом ко всем контроллерам. Методы, объявленные в нем, будут доступны всем контроллерам поэтому.

ApplicationController является удобным местом к фильтрам, что Вы хотите обратиться ко всем контроллерам в своем приложении или методах, которые Вы хотите сделать доступным для всех них.

конфигурация/среды / *.rb

Файлы в конфигурации/средах / *.rb переопределяют настройки в значении по умолчанию config/enviornment.rb файл в зависимости от того, какую среду Ваш сервер выполняет в (разработке/производстве). Один пример - то, которые по ошибкам разработки печатаются на экран, и в производстве возвращается универсальная ошибочная страница. Эта установка находится в config/environments/development.rb

boot.rb

boot.rb используется в качестве части процесса инициализации направляющих. Вы обычно не должны и вероятно не должны касаться его.

environment.rb

environment.rb является универсальным конфигурационным файлом для Вашего приложения.

routes.rb

routes.rb используется, чтобы определить, как Ваше приложение обрабатывает запросы к определенным URL. Например, можно хотеть иметь все 404 запроса, переходят к определенному действию вместо того, чтобы быть обработанным обработчиком ошибок по умолчанию:

map.connect '*path', :controller => 'home', :action => 'on_404'

Это - также важная часть реализовывания УСПОКОИТЕЛЬНОГО приложения.

Куда поместить код конфигурации и инициализация

И код инициализации и данные пользовательской конфигурации должны быть помещены в enviornment.rb (прочитайте комментарии в этом файле). Если Вы хотите, чтобы определенный код работал во время инициализации только в разработке или только в производстве, поместил его в config/environments/development.rb или config/environments/production.rb соответственно.

Править:

Хороший обзор того, когда каждый из этих файлов выполняется во время инициализации, доступен здесь:

http://toolmantim.com/articles/environments_and_the_rails_initialisation_process https://github.com/toolmantim/toolmantim/blob/master/articles/environments_and_the_rails_initialisation_process.haml

По существу шаги:

  1. Инициализатор направляющих загружается (http://api.rubyonrails.org/classes/Rails/Initializer.html)

  2. Инициализатор направляющих настраивает вход и затем загружает environment.rb

  3. environment.rb загружает boot.rb

  4. boot.rb устанавливает RAILS_ROOT постоянный и добавляет библиотеки направляющих и код приложения к LOAD_PATH

  5. environment.rb выполняется Rails::Initializer.run.

  6. Инфраструктура Rails загружается (ActiveRecord, ActionMailer, и т.д.)

  7. Определенный файл конфигурации Вашей среды загружается (config/environments/development.rb).

  8. after_initialize и to_prepare обратные вызовы выполняются при создании кого-либо

  9. Направляющие закончили загружаться и готовы обработать запросы

33
ответ дан dotNETbeginner 28 November 2019 в 21:28
поделиться

С небольшим усилием можно следовать за ним через себя, которые, вероятно, будут более полезными.

Запустите с 'рубинового сценария/сервера'. В моем (2.1) приложение, которые ищут файл, названный "сервером" в каталоге "сценария". Это содержит это:

#!/usr/bin/env ruby
require File.dirname(__FILE__) + '/../config/boot'
require 'commands/server'

Таким образом, это требует boot.rb, который определяет много материала и затем звонит Rails.boot! который более или менее выполняет любую предварительную инициализацию, которую Вы определили, и затем требует environment, который делает другой уровень начальной загрузки. К тому времени это начинает быть сложным: я рекомендовал бы лист бумаги большого выхода...

И так далее.

С другой стороны, Вы можете взламывать Kernel#require для входа, когда файл требуется в - я не попробовал его сам (и метод может быть переопределен в другом месте), но он мог работать...

application_controller точно "не выполняется" вообще - это - родительский класс для Ваших других контроллеров, таким образом, его содержание, при необходимости и не переопределенное становится доступным, когда наследовавшийся контроллер загружается. Вы обычно использовали бы его для обеспечения общей функциональности через все контроллеры.

2
ответ дан Mike Woodhouse 28 November 2019 в 21:28
поделиться

Это - обычная практика для помещения материала инициализации в config/initializers/каталог. Таким образом, можно содержать environment.rb файлы в чистоте (er).

См. это сообщение Ryan Daigle.

0
ответ дан ronaldevers 28 November 2019 в 21:28
поделиться
Другие вопросы по тегам:

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