Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 3 设计路线,我得到;出了点问题。”;错误_Ruby On Rails 3_Routing_Devise - Fatal编程技术网

Ruby on rails 3 设计路线,我得到;出了点问题。”;错误

Ruby on rails 3 设计路线,我得到;出了点问题。”;错误,ruby-on-rails-3,routing,devise,Ruby On Rails 3,Routing,Devise,我是rails的新手,我很难用Desive确定rails 3的路线 当我转到“用户”页面时,我遇到了一个可怕的错误: 在我的路线上,我有 #Resources for users devise_for :users, :controllers => { :registrations => "registrations" } resource :users do get 'welcome' end 这些是我的用户路线 已更新 ro

我是rails的新手,我很难用Desive确定rails 3的路线

当我转到“用户”页面时,我遇到了一个可怕的错误:

在我的路线上,我有

#Resources for users

devise_for :users, :controllers => { :registrations => "registrations" }

resource :users do
  get 'welcome'
end
这些是我的用户路线

已更新

                       root        /                                               members#welcome
           new_user_session GET    /users/sign_in(.:format)                        devise/sessions#new
               user_session POST   /users/sign_in(.:format)                        devise/sessions#create
       destroy_user_session DELETE /users/sign_out(.:format)                       devise/sessions#destroy
              user_password POST   /users/password(.:format)                       devise/passwords#create
          new_user_password GET    /users/password/new(.:format)                   devise/passwords#new
         edit_user_password GET    /users/password/edit(.:format)                  devise/passwords#edit
                            PUT    /users/password(.:format)                       devise/passwords#update
   cancel_user_registration GET    /users/cancel(.:format)                         devise/registrations#cancel
          user_registration POST   /users(.:format)                                devise/registrations#create
      new_user_registration GET    /users/sign_up(.:format)                        devise/registrations#new
     edit_user_registration GET    /users/edit(.:format)                           devise/registrations#edit
                            PUT    /users(.:format)                                devise/registrations#update
                            DELETE /users(.:format)                                devise/registrations#destroy
我是否应该没有2个用户资源?我相信他们可能有冲突,或者我只是错过了什么

更新

我忘了提到我正在覆盖默认的Desive注册控制器

 class RegistrationsController < Devise::RegistrationsController
  protected

  # Redirect to welcome page after a successful registration
  def after_sign_up_path_for(resource)
    '/users/welcome'
  end
 end
类注册控制器
删除用户控制器 删除注册控制器

 class RegistrationsController < Devise::RegistrationsController
  protected

  # Redirect to welcome page after a successful registration
  def after_sign_up_path_for(resource)
    '/users/welcome'
  end
 end
除去

resource :users do
get 'welcome'
end
将此添加到您的路线中

# Directing the user after login
 authenticated :user do
root :to => 'recipes#index'
结束

改变

devise_for :users, :controllers => { :registrations => "registrations" }


让我知道情况如何

我不确定你为什么要设置资源:用户会登录、注销和注册。事实上,除非您覆盖Desive控制器,否则您只需要Desive_for:usersWell我制作了一个用户脚手架,为用户制作了路线,我不记得他们在哪里,但我只是想确定我使用的是设备:)是的,我正在覆盖Desive注册控制器,因为我想路由到我的
欢迎
页面,而不是成功用户注册时的默认页面-我将使用注册控制器更新帖子您是否使用:confirmable withDeviate?如果没有,您可以在路由中使用它,authenticated:user do root:to=>“controller#action”end查看注册控制器的默认行为,在Deviate中创建操作,您应该看到它有自己的未确认帐户路径,我可以修改一下这个,让Desive为你安排路线是的,我正在尝试,但我不得不问——为什么是“食谱”?我没有这个名字的控制器/动作:Psorry my bad,这是我的项目lol的路径,这基本上就是你的控制器/动作。您必须创建一个新的控制器来显示欢迎页面或将欢迎操作添加到另一个控制器这对我来说不是太顺利,现在我从webbrick服务器收到这条消息
在49毫秒内完成了500个内部服务器错误
,我收到一个路由错误
没有路由匹配{:action=>“show”,:controller=>“users”,:id=>nil}
该死的Lol我们不需要您通过脚手架设置的用户控制器,Deavine有自己的用户设置。现在将欢迎操作放在您的其他控制器中,并按照我在您的RouteKey中描述的方式进行根目录。它现在可以工作了,我可以登录/注销,但我现在如何进入我的usercontrollers索引<代码>没有与[GET]“/users”匹配的路由