2 страницы, использующие один и тот же URL, используя маршруты рельсов - PullRequest
3 голосов
/ 15 марта 2010

Я пытаюсь создать страницу входа для моего приложения rails, которая выглядит как "www.domain.com", и когда вы входите в систему, вы все еще находитесь в домене "www.domain.com".Есть ли способ, которым я могу сопоставить 2 разных действия на один и тот же URL, используя маршруты.Твиттер делает это таким образом, вы входите в систему на twitter.com, и после того, как вы вошли в систему, вы все еще находитесь на twitter.com.

Ответы [ 2 ]

1 голос
/ 16 марта 2010

Вы не можете сделать это, просто изменив маршруты, но вы можете сделать какое-то условное выражение в вашем контроллере.

def index
  if logged_in
    render :action => 'show'
  else
    render :action => 'new'
  end
end

def show
  ...
end

def new
  ...
end

Конечно, будет много способов сделать это.

0 голосов
/ 16 марта 2010

После успешного входа в систему перенаправьте на корневой URL.

rout.rb

map.resources :landings
# let's assume that, home page corresponds to landings/index
map.root :controller => "landings", :action => "index" 

UserSessionsController

def create
  @user_session = UserSession.new(params[:user_session])
  if @user_session.save 
    redirect_to root_url
  else
    render :action => :new
  end    
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...