Thanks, Bill.

I actually stumbled across another technique, which I adapted from some 
code I found in Lovd By Less (http://lovdbyless.com)

Here's how it works for the new user form:

Routes:

  map.connect '/join', :controller => 'users', :action => 'new'

Form tag:

  <% form_for @user, :url => '/join', :method => :post do |f| %>

Controller

  def new
    @user = User.new(params[:user])
    return unless request.post?
    if @user.save
      flash[:notice] = "Account registered!"
      redirect_back_or_default account_url
    else
      render :action => :new
    end
  end

I've only played with it a little bit so far, but it seems to do 
everything I need, in less code than the scaffolding I was working with, 
and I haven't found a downside yet. I kind of like it.






bill walton wrote:
> Hi Chris,
> 
> On Thu, 2009-04-02 at 23:31 +0200, Chris Hanks wrote:
>> Hi -
>> 
>> My problem is that the login screen can be accessed through
>> example.com/login just as I'd like it to be, but when there's a problem
>> with the form input, the url changes to example.com/user_session, which
>> I really don't like. If I change the "render :new" in the controller to
>> "redirect_to login_path" then I'm sent to the correct url, but the
>> rails-generated errors don't appear, and the information that had been
>> entered is wiped out, so I don't want to do that.
> 
> I'm not sure about the latest versions of RESTful routing but it used to
> be easy enough to pass the params hash along to the redirected_to
> method.
> 
> redirect_to :action => 'redirected_to_method', :form_data =>
> params[:form_data]
> 
> As a first cut I'd try:
> redirect_to login_path, :form_data => params[:form_data]
> 
> Not sure about the error messages.
> 
> HTH,
> Bill

-- 
Posted via http://www.ruby-forum.com/.

--~--~---------~--~----~------------~-------~--~----~
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 [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to