重定向有问题

时间:2013-05-16 21:34:50

标签: ruby-on-rails

如果重置链接已过期,则应将用户重定向到root_url,但Rails会执行类似render :nothing => true的操作,只需空页。

  def edit_user_by_reset
    @user = User.find_by_password_reset_token(params[:reset_token])
    respond_to do |format|
    if @user && @user.password_link_sent_at<2.hours.ago
        format.html
   else
       redirect_to root_url
   end
  end
  end

1 个答案:

答案 0 :(得分:1)

正确的方式:

      def edit_user_by_reset
        @user = User.find_by_password_reset_token(params[:reset_token])
        respond_to do |format|
        if @user && @user.password_link_sent_at<2.hours.ago
            format.html
       else
            format.html {redirect_to root_url}
       end
       end
      end

如果您使用的是respond_to,则需要提供格式,否则无效。