<% unless logged_in? %>
<%= error_messages_for :user %>
<div id="login_div">
<h1>Login or sign up</h1>
<%= error_div_for user %>
<% remote_form_for :user, :url => {:controller => :account, :action => :signup}, :update => { :success => "login_div", :failure => "login_div" } do |f| -%>
<p><label for="email">Email</label><br/>
<%= f.text_field :email %></p>
<p><label for="password">Password</label><br/>
<%= f.password_field :password %></p>
<p><label for="password_confirmation">Confirm Password</label><br/>
<%= f.password_field :password_confirmation %></p>
<p><%= submit_tag 'Sign up' %></p>
<% end -%>
</div>
<%= observe_field(:user_password, :url =>{ :controller => :account, :action => :autofill }, :frequency => 0.5, :with => "'email='+ escape($('user_email').value) + '&password=' + escape($('user_password').value)") %>
<% end %>
<%= observe_field(:user_password, :url =>{ :controller => :account, :action => :autofill }, :frequency => 0.5, :with => "'email='+ escape($('user_email').value) + '&password=' + escape($('user_password').value)") %>
<% remote_form_for :user, :url => {:controller => :account, :action => :signup}, :update => { :success => "login_div", :failure => "login_div" } do |f| -%>
:update => { :success => "login_div", :failure => "login_div" }
def signup
@user = User.new(params[:user])
return unless request.post?
@user.save!
self.current_user = @user
if request.xml_http_request?
render :action => 'welcome.html.erb', :layout =>false
end
redirect_back_or_default(:controller => '/account', :action => 'index')
flash[:notice] = "Thanks for signing up!"
rescue ActiveRecord::RecordInvalid
if request.xml_http_request?
render :action => 'signup', :layout =>false
end
end
request.xml_http_request?method which tells you if the call was a ajax request.
before_filter :adjust_format_for_ajax
def adjust_format_for_ajax
request.format = :ajax if request.xml_http_request?
end
respond_to do |format|
format.html do
flash[:notice] = "Thanks for signing up!"
redirect_back_or_default(:controller => 'account', :action => 'index')
end
format.ajax do
render :template=>'shared/welcome.html.erb', :layout =>false
return
end
end
July 2007 August 2007 September 2007 December 2007 January 2008 February 2008 March 2008 April 2008 June 2008 July 2008 August 2008 October 2008 November 2008 January 2009
Subscribe to Comments [Atom]