English 中文(简体)
铁路设计——改写密码时的更新错误
原标题:Rails devise - error on update when resetting the password

我有这一管制人员守则:

  def update

    super
    respond_to do |format|
      format.html{redirect_to session[:redirect_to]}
    end
  end

我的阶级继承了设计。 类似的话:

class Mobile::PasswordsController < Devise::PasswordsController

我发现这一错误:

AbstractController::DoubleRenderError in Mobile::PasswordsController#update

    Render and/or redirect were called multiple times in this action. 
Please note that you may only call render OR redirect, and at most once per action. 
Also note that neither redirect nor render terminate execution of the action, so 
if you want to exit an action after redirecting, you need to do something like 
"redirect_to(...) and return".

任何想法是怎样做的? 我知道这一方向,但我不知道如何正确。

感谢!

最佳回答

The update method of the Devise gem already has a redirect. Then you call your redirect and this causes the error. If you want to do a custom redirect you need to override a Devise method without a super call like this:

def update
    self.resource = resource_class.reset_password_by_token(params[resource_name])

    if resource.errors.empty?
      flash_message = resource.active_for_authentication? ? :updated : :updated_not_active
      set_flash_message(:notice, flash_message) if is_navigational_format?
      sign_in(resource_name, resource)
      respond_with resource, :location => #your_path_on_success
    else
      flash[:error] = resource.errors.full_messages
      redirect_to #your_path_on_failure
    end
  end
问题回答

暂无回答




相关问题
rails collection_select vs. select

collection_select and select Rails helpers: Which one should I use? I can t see a difference in both ways. Both helpers take a collection and generates options tags inside a select tag. Is there a ...

SSL slowness in EC2

We ve deployed our rails app to EC2. In our setup, we have two proxies on small instances behind round-robin DNS. These run nginx load balancers for a dynamically growing and shrinking farm of web ...

Auth-code with A-Za-z0-9 to use in an URL parameter

As part of a web application I need an auth-code to pass as a URL parameter. I am currently using (in Rails) : Digest::SHA1.hexdigest((object_id + rand(255)).to_s) Which provides long strings like : ...

RubyCAS-Client question: Rails

I ve installed RubyCAS-Client version 2.1.0 as a plugin within a rails app. It s working, but I d like to remove the ?ticket= in the url. Is this possible?

activerecord has_many :through find with one sql call

I have a these 3 models: class User < ActiveRecord::Base has_many :permissions, :dependent => :destroy has_many :roles, :through => :permissions end class Permission < ActiveRecord::...

Ordering a hash to xml: Rails

I m building an xml document from a hash. The xml attributes need to be in order. How can this be accomplished? hash.to_xml

Text Editor for Ruby-on-Rails

guys which text editor is good for Rubyonrails? i m using Windows and i was using E-Texteditor but its not free n its expired now can anyone plese tell me any free texteditor? n which one is best an ...

How to get SQL queries for each user where env is production

I’m developing an application dedicated to generate statistical reports, I would like that user after saving their stat report they save sql queries too. To do that I wrote the following module: ...

热门标签