0

我不确定这种行为是否正常,但是当我这样做时:

渲染 js:“window.location.pathname = '#{new_user_session_path}';”

window.location.pathname = '/user/sign_in';在我的控制器中,它会在执行该行并成功重定向之前简要显示文本。

这是完整的控制器操作:

def vote_down
    如果 user_signed_in?
      current_user.vote_exclusively_against(@deal = Deal.find(params[:id]))

      渲染:partial => '交易/部分/交互',
        :locals => {:deal => @deal, :votes_for => @deal.votes_for, :votes_against => @deal.votes_against}
    别的
      渲染 js:“window.location.pathname = '#{new_user_session_path}';”
      flash[:error] = '请登录投票。'
    结尾
  结尾

如何防止这种情况发生并直接渲染该模板?

4

1 回答 1

1

为什么不直接使用 rails 控制器路由重定向回 new_user_session_path?

respond_to do |format|
   format.html { redirect_to new_user_session_path, error: 'Please sign in to vote.' }
end
于 2012-11-02T20:56:24.920 回答