Я запускаю nginx и пассажира для размещения сайта Rails 3.2.22. Он работал очень хорошо до недавнего времени, но последнее развертывание наткнулось на какую-то ошибку.Проблема с пассажиром, nginx и Rails3
Nginx/пассажир не запускается должным образом из-за следующей ошибки:
App 1542 stderr: /var/lib/gems/1.9.1/gems/actionpack-3.2.22/lib/action_view/helpers/form_options_helper.rb:156:in `select'
App 1542 stderr: :
App 1542 stderr: wrong number of arguments (1 for 3)
App 1542 stderr: (
App 1542 stderr: ArgumentError
App 1542 stderr:)
App 1542 stderr: from /var/lib/gems/1.9.1/gems/passenger-5.0.23/src/ruby_supportlib/phusion_passenger/request_handler.rb:483:in `wait_until_termination_requested'
App 1542 stderr: from /var/lib/gems/1.9.1/gems/passenger-5.0.23/src/ruby_supportlib/phusion_passenger/request_handler.rb:202:in `main_loop'
App 1542 stderr: from /var/lib/gems/1.9.1/gems/passenger-5.0.23/src/helper-scripts/rack-preloader.rb:159:in `<module:App>'
App 1542 stderr: from /var/lib/gems/1.9.1/gems/passenger-5.0.23/src/helper-scripts/rack-preloader.rb:30:in `<module:PhusionPassenger>'
App 1542 stderr: from /var/lib/gems/1.9.1/gems/passenger-5.0.23/src/helper-scripts/rack-preloader.rb:29:in `<main>'
Похоже, пассажир вызове помощника ACTION_VIEW для «выбора», по причинам, я не понимаю. Помощник ACTION_VIEW в строке 156 выглядит следующим образом:
def select(object, method, choices, options = {}, html_options = {})
InstanceTag.new(object, method, self, options.delete(:object)).to_select_tag(choices, options, html_options)
end
Вызывающий в пассажирском (request_helper линия 483) выглядит следующим образом:
ios = select([@owner_pipe, @graceful_termination_pipe[0]])[0]
который, скорее всего совершенно другой «выберите» вызов. Я не могу понять, почему пассажир вызывает вызов для помощника ActionView (который является выбором формы).