Я просмотрел несколько постов с похожими заголовками, но не нашел ответа.
В моем приложении я хочу разрешить редактирование Активных записей из представления индекса.Это представление использует link_to_remote для каждой строки.Когда пользователь нажимает на ссылку, строка должна быть заменена формой, которую пользователь может отправить через Ajax.
Таблица отображается при отправке коллекции в частичное представление show_item
<% content_tag_for(:tr, show_item) do %>
<td><%=h show_item.name %> </td>
<td><%= show_item.role %></td>
<td><%= link_to_remote 'Edit', :url => edit_participation_path(show_item), :method => :get %> </td>
<% end %>
Мой контроллер реализует редактирование в виде
def edit
@participation = Participation.find(params[:id])
respond_to do |format|
format.js do
render(:update) { |page| page[@participation].replace_html(:partial => "edit_item", :object => @participation ) }
end
end
end
Частичное изменение_элемента выглядит как
<% content_tag_for(:tr, edit_item) do %>
<% form_remote_for edit_item do |f| %>
<td><%= edit_item.name %></td>
<td> <%= f.select(:role, options_for_select(all_roles, edit_item.role)) %> </td>
<td><%= submit_tag 'Update', :class => 'submit' %></td>
<td><%= link_to_remote 'Cancel', :url => participation_path(edit_item) %></td>
<% end %>
<% end %>
Удаленные вызовы проходят, но они неожиданно влияют на таблицу.В Firefox нажатие на ссылку приводит к исчезновению строки.С другой стороны, если я использую Safari, строка обновляется, но вместо выравнивания ячеек с другими строками таблицы вся замененная строка помещается слева от других строк.
Есть идеи?