Использование Rails 4 и Ruby 1.9.3. Styling обрабатывается внутренне разработанным камнем на основе бутстрапа 3.Как сделать элементы на форме рельсов сортируемыми
Я искал ответы на это и нашел несколько разных примеров, которые показывают, как сделать это с помощью основного списка в представлении. Я считаю, что railscast - один из таких примеров.
http://railscasts.com/episodes/147-sortable-lists
Однако я пытаюсь добиться этого в рельсах вложенных формы с помощью частичного, но не имея никакого успеха. К сожалению, я новичок в рубине, рельсах и не имею никакого предварительного знания javascript, так что это все шаг кривой обучения.
Моя модель обслуживания относится к модели мест через служебные места. Поле service_places.position хранит порядок остановок.
Моя вложенная форма (_form.html.erb) услуг приведен ниже:
<!-- Adds the Service_Places (stops) associations via partial (sort applied in model) -->
<div>
<div class="links" id="sortable">
<%= link_to_add_association 'Add Stop', f, :service_places, :class => "btn btn-default", :data => {"association-insertion-method" => "after" } %>
</div>
<%= f.fields_for :service_places do |service_places| %>
<%= render 'service_place_fields', :f => service_places %>
<% end %>
</div>
Мой service_place парциальное показано ниже:
<!-- This will hold the partial form for service places -->
<div class="nested-fields">
<%= f.label :service_place, "Stops", :class=>"col-sm-2 control-label" %>
<div class="col-sm-1">
<%= f.text_field :position, :class=> "form-control", :placeholder => "Position" %>
</div>
<div class="col-sm-3">
<%= f.collection_select :place_id, Place.where('active = true').order(:place_name), :id, :place_name, :prompt => "Select Place" %>
</div>
<div>
<%= link_to_remove_association "Remove Stop", f, :class => "btn btn-default" %>
</div>
</div>
Я начал смотреть на то, чтобы назначить идентификатор для каждого из тегов DIV в части service_place, но не может заставить его работать.
Вопросы, которые я хотел бы знать, являются:
1) Можно ли разрешить пользователю изменять порядок элементов в формах? и сохранить новый порядок на сервере?
2) Если возможно, кто-то может дать мне подсказку о том, как это сделать.
Заранее благодарим за то, что нашли время, чтобы посмотреть этот пост.
попробовать ' <% = f.fields_for: service_places, f.object.service_places.order ('позиция asc') do | service_places | %> ' – juanpastas
Спасибо за комментарий Хуан. Это не то, что мне нужно. Я ищу, чтобы пользователь мог переупорядочить данные в форме и обновить соответствующее поле позиции на основе этого (возможно, при его представлении). Ответ будет включать javascript в некотором формате. Railscast - хороший пример того, чего я пытаюсь достичь. –
Теперь я понимаю, пожалуйста, отредактируйте свой вопрос, чтобы сделать это яснее. – juanpastas