Hello,

Even though I'm quite a newbie in Ruby and Ruby on Rails, I've been
trying to fix Binarylogic's authlogic-openid gem, over on
http://github.com/DBA/authlogic_openid, which is current version is
incredibly outdated due to the upgrades made to the rails/
open_id_authentication plugin.

So far, I've managed to get the registration (new account) process to
work when the user provides a valid OpenID. However, when he enters a
value like ".." a message is set on @user.errors.on
(:openid_identifier) but the render :action => 'new' renders a blank
screen, for a reason that I'm yet to understand.

Here's my UserController#create

  def create
    @user = User.new(params[:user])
    @user.save do |result|
      if result
        flash[:notice] = "Registration successfull."
        redirect_to root_url
      else
        render :action => 'new'
      end
    end
  end

As mentioned, it works great when the user enters a valid openid. The
save block is yield by acts_as_authentic:

      def save(perform_validation = true, &block)
        return false if perform_validation &&
authenticate_with_openid? && !authenticate_with_openid
        return false if new_record? && (!openid_complete? &&
@openid_error.nil?)

        result = super
        yield(result) unless block.nil?
        result
      end

However, when the openid_identifer validation kicks in, something in
the "supper" is preventing the render :action => 'new' set in the
controller for when the result is not "true".

I'm a bit new on this kind of issues, so bare with me on this
eventually newbie question... Could someone give me some guidance on
why invoking the super on the save method is making it impossible to
render the new action in order to show the user his error messages?

Best regards,
DBA

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to rubyonrails-t...@googlegroups.com.
To unsubscribe from this group, send email to 
rubyonrails-talk+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en.

Reply via email to