redirect to login page if user not logged in

If you want login to be redirected only on particular controllers, then use:

skip_before_filter :require_login, :only=>[:edit,:update] 

or:

skip_before_filter :require_login, :except=>[:new,:create]

Use a before_filter. Place the following in your application controller.

# application_controller.rb

before_filter :require_login

private

  def require_login
    unless current_user
      redirect_to login_url
    end
  end

The code above assumes you have defined a method current_user which returns the user record when the user is logged in.

Then, in your login controller

skip_before_filter :require_login