Rails呈现javascript显示文本
我不确定这种行为是否正常,但是当我这样做时:
渲染js:“window.location.pathname ='#{new_user_session_path}';”
在我的控制器中,它会短暂显示文本window.location.pathname = '/user/sign_in';
在执行该行并成功重定向之前。
这是完整的控制器动作:
def vote_down if user_signed_in? current_user.vote_exclusively_against(@deal = Deal.find(params [:id])) render:partial =>'deals / partials / interaction', :locals => {:deal => @ deal,:votes_for => @ deal.votes_for,:votes_against => @ deal.votes_against} 其他 渲染js:“window.location.pathname ='#{new_user_session_path}';” flash [:error] ='请登录进行投票。' 结束 结束
如何防止这种情况发生并直接呈现该模板?
为什么不直接使用rails控制器路由重定向回new_user_session_path?
respond_to do |format| format.html { redirect_to new_user_session_path, error: 'Please sign in to vote.' } end