When a user calls the users_path view, all users are rendered correctly in the display.
However I also redirect to index after a delete. The console indicates a 200 Ok but then the index is not rendered.
Trying to step through some of the rails code, it looks like in the case of after the delete, rails does an implicit render. It doesn't do this in the first case of calling the index view.
views/users/index.rb
<% @users.each do |user| %>
<tr class = '<%=cycle('dataeven', 'dataodd')%>' >
<td class = '<%=cell_class%>'><%= user.username %></td>
<td <class = '<%=cell_class%>'><%= user.email %></td>
<td class = '<%=cell_class%>'><%= user.actual_name %></td>
<td class = '<%=link_cell_class%>'><%= tlink_to 'edit_permissions', permissions_path(user) %></td>
<td class = '<%=link_cell_class%>'><%= tlink_to 'reset_password', edit_password_path(user) %></td>
<td class = '<%=link_cell_class%>'><%= unlock_link(user) %></td>
<td class = '<%=link_cell_class%>'><%= tlink_to("destroy", destroy_user_path(user), {:navigate=>false, :method=>'delete', :remote=>true, :data=>{:confirm=>tmessage( 'delete.are_you_sure', $W, {:model=>user.username}) }})%></td>
</tr>
<%end%>
</table>
<%= twill_paginate %>
<br>
<%= link_to t('headings.new.heading', :model=> t($ARM + 'user', :count=>1)), new_user_path %> | <%= tlink_to "new_invitation", new_user_invitation_path%></li>
users_controller.rb
def index
@users = User.paginate :page => params[:page], :per_page => 15
respond_to do |format|
format.html
format.xml { render :xml => @translation_languages }
end
end
..... users_controller.rb ...
def destroy
@user.destroy
tflash('delete', :success, {:model=>@@model, :count=>1})
respond_to do |format|
format.html { redirect_to(users_url) }
format.xml { head :ok }
end
end
Has any one any idea what may cause the redirect to silent stop
I see the link is remote - this will be a js format.
Do this:
Create a destroy.js.erb file and put it in the same directory with index. You can do javascript in there, for example - remove the element
in views/users/destroy.js.erb
In the view, add this to the user row:
EDIT
You can also just remove the remote: true. Should have mentioned that.