0

ユーザーが users_path ビューを呼び出すと、すべてのユーザーが正しく表示されます。

ただし、削除後にインデックスにもリダイレクトします。コンソールは 200 Ok を示しますが、インデックスはレンダリングされません。

Railsコードのいくつかをステップ実行しようとすると、削除後にRailsが暗黙的なレンダリングを行うように見えます。インデックス ビューを呼び出す最初のケースでは、これは行われません。

ビュー/ユーザー/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

リダイレクトがサイレントストップする原因を考えている人はいますか

4

3 に答える 3

0

解決策を導き出すのに役立つ 2 つの質問:

  1. tflash メソッドの内容は?(コメントアウトしてもうまくいきますか?)
  2. destroy アクションが xml に応答するのはなぜですか?
于 2014-11-13T05:30:49.337 に答える