Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ## Form
- <% form_tag usersession_path do -%>
- <p><label for="login">Login</label><br/>
- <%= text_field_tag 'login' %></p>
- <p><label for="password">Password</label><br/>
- <%= password_field_tag 'password' %></p>
- <!-- Uncomment this if you want this functionality
- <p><label for="remember_me">Remember me:</label>
- <%= check_box_tag 'remember_me' %></p>
- -->
- <p><%= submit_tag 'Log in' %></p>
- <% end -%>
- ##Routes.rb
- ActionController::Routing::Routes.draw do |map|
- map.resources :users, :has_many => :characters
- map.resources :usersession
- map.namespace :admin do |admin|
- admin.root :controller => "admin"
- admin.resources :events
- end
- map.resources :events
- map.signup '/signup', :controller => 'users', :action => 'new'
- map.login '/login', :controller => 'usersession', :action => 'new'
- map.logout '/logout', :controller => 'usersession', :action => 'destroy'
- map.charselect 'charselect/:char_id', :controller => 'characters', :action => 'select'
- # The priority is based upon order of creation: first created -> highest priority.
- # Sample of regular route:
- # map.connect 'products/:id', :controller => 'catalog', :action => 'view'
- # Keep in mind you can assign values other than :controller and :action
- # Sample of named route:
- # map.purchase 'products/:id/purchase', :controller => 'catalog', :action => 'purchase'
- # This route can be invoked with purchase_url(:id => product.id)
- # Sample resource route (maps HTTP verbs to controller actions automatically):
- # map.resources :products
- # Sample resource route with options:
- # map.resources :products, :member => { :short => :get, :toggle => :post }, :collection => { :sold => :get }
- # Sample resource route with sub-resources:
- # map.resources :products, :has_many => [ :comments, :sales ], :has_one => :seller
- # Sample resource route with more complex sub-resources
- # map.resources :products do |products|
- # products.resources :comments
- # products.resources :sales, :collection => { :recent => :get }
- # end
- # Sample resource route within a namespace:
- # map.namespace :admin do |admin|
- # # Directs /admin/products/* to Admin::ProductsController (app/controllers/admin/products_controller.rb)
- # admin.resources :products
- # end
- # You can have the root of your site routed with map.root -- just remember to delete public/index.html.
- map.root :controller => "events"
- # See how all your routes lay out with "rake routes"
- # Install the default routes as the lowest priority.
- # Note: These default routes make all actions in every controller accessible via GET requests. You should
- # consider removing the them or commenting them out if you're using named routes and resources.
- map.connect ':controller/:action/:id'
- map.connect ':controller/:action/:id.:format'
- end
- ## Controller
- # This controller handles the login/logout function of the site.
- class UsersessionController < ApplicationController
- # Be sure to include AuthenticationSystem in Application Controller instead
- # render new.rhtml
- def new
- end
- def create
- self.current_user = User.authenticate(params[:login], params[:password])
- if logged_in?
- if params[:remember_me] == "1"
- current_user.remember_me unless current_user.remember_token?
- cookies[:auth_token] = { :value => self.current_user.remember_token , :expires => self.current_user.remember_token_expires_at }
- end
- redirect_back_or_default('/')
- flash[:notice] = "Logged in successfully"
- else
- render :action => 'new'
- end
- end
- def destroy
- self.current_user.forget_me if logged_in?
- cookies.delete :auth_token
- reset_session
- flash[:notice] = "You have been logged out."
- redirect_back_or_default('/')
- end
- end
- ## Error
- usersession_url failed to generate from {:controller=>"usersession", :action=>"show"} - you may have ambiguous routes, or you may need to supply additional parameters for this route. content_url has the following required parameters: ["usersession", :id] - are they all satisfied?
Add Comment
Please, Sign In to add comment