Находясь в производственной среде, где размещается мое приложение с помощью Phusion Passanger + Nginx, я столкнулся с тем, что fields_for не может правильно отображать огромное количество полей.
Пример:
members_controller.rb:
class MembersController << ApplicationController
def new
@member = Member.new
# There are 200 or so groups in the database.
current_client.groups.active.each do |group|
@member.affiliation.build(:group => group)
end
end
end
новый.html.haml:
= form_for @member do |f|
= f.text_field :name
= f.text_field :phone
= f.fields_for :affiliations do |affiliation_form|
.group_field
= affiliation_form.hidden_field :group_id
= affiliation_form.label :_destroy, affiliation_form.object.group.name
= affiliation_form.check_box :_destroy, { }, "0", "1"
Пока все хорошо, в разработке это вернет все поля правильно, как я хочу. При развертывании приложения на рабочем сервере (тот же ruby 1.9.2p180). HTML-код неполный, примерно 30-50 или около того из 200 полей, отображаемых с последним *.group_field*, не имеющим или имеющим некоторые элементы (каждый раз разные результаты).
Последнее поле группы:
<div class="group_field">
<input id="..." name="..." type="hidden" value="48">
<label for="...">...</label>
<input name="..." type="hidden" value="1">
<input id="..." name="..." type="checkbox" value="1">
</div>
Последнее поле группы:
<div class="group_field">
<input id="..." name="..." type="hidden" value="49">
<label for="...">...</label>
</div>
Журнал не дает никаких ошибок, поэтому я не смог выяснить, где находится ошибка/проблема. Я также пробовал ту же форму в производственной среде, предоставляя только 20 или около того групп, которые отлично работают. Может ли кто-нибудь помочь мне отследить эту очень странную ошибку?