0

目前,设计的 URL 好像/users/sign_in我想将其更改为/signin.

routes.rb文件中,我试过这个:

devise_for :users do
    get "/signin" => "devise/sessions#new"
    match '/signin', :to => 'devise/sessions#new'
    get "/signout" => "devise/sessions#destroy"
    match '/signout', :to => 'devise/sessions#destroy'   
end

但没有任何效果。我收到一条错误消息:

app/controllers/posts_controller.rb:19:in `show'

在该show部分,我有

def show
  @post = Post.find(params[:id])

  respond_to do |format|
    format.html # show.html.erb
    format.json { render json: @post }
  end
end

控制器与设计有什么show关系?

4

1 回答 1

0

试试这个:

 devise_scope :user do
   get   "/signin"  => "devise/sessions#new"
   match '/signin'  => 'devise/sessions#new'
   get   "/signout" => "devise/sessions#destroy"
   match '/signout' => 'devise/sessions#destroy' 
 end

来源:https ://github.com/plataformatec/devise/wiki/How-To:-Change-the-default-sign_in-and-sign_out-routes

于 2012-11-27T01:55:44.503 回答