Ruby 未定义的方法';出版';
我刚刚开始学习RubyonRails,并在《Rails4入门》第三版第151页第7章上盖章 我生成的控制器如下所示; $rails生成控制器控制器名称[操作][选项]。这一个工作正常,但当我试图为用户生成一个控制器时 $rails生成控制器用户。我收到了以下错误消息 /routing/mapper.rb:328:在检查部分:缺少:路由定义上的控制器键,请检查您的路由。(辩论) 这就是我的路线Ruby 未定义的方法';出版';,ruby,Ruby,我刚刚开始学习RubyonRails,并在《Rails4入门》第三版第151页第7章上盖章 我生成的控制器如下所示; $rails生成控制器控制器名称[操作][选项]。这一个工作正常,但当我试图为用户生成一个控制器时 $rails生成控制器用户。我收到了以下错误消息 /routing/mapper.rb:328:在检查部分:缺少:路由定义上的控制器键,请检查您的路由。(辩论) 这就是我的路线 Rails.application.routes.draw do get 'controller_n
Rails.application.routes.draw do
get 'controller_name/[actions]'
get 'controller_name/[options]'
root :to => "articles#index"
resources :articles
root :to => 'users#show'
end
我添加了最后一条路线(root:to=>“users#show”
Stackoverflow社区很棒。我从档案馆得到了很多帮助。您看到的错误是因为以下几行: 获取“控制器名称/[操作]” 假设您要将
GET localhost:3000/welcome
路由到PagesController\welcome
。您需要在路由中指定路径和控制器操作:
get '/welcome', controller: 'pages#index'
我真的建议你仔细阅读路由
除此之外,代码中还有一些其他错误。下面是一个带注释的版本:
Rails.application.routes.draw do
# These two routes are invalid
get 'controller_name/[actions]'
get 'controller_name/[options]'
# This routes the root of your site (localhost:3000/)
# to ArticlesController#index
#
# This should be moved to the top of the file
root :to => "articles#index"
resources :articles
# You can't have two root routes!
root :to => 'users#show'
end
祝您好运,欢迎使用Rails!奇怪的是,您在其中有一个重复的
get
指令。通常,如果您生成一个控制器,您应该执行resources:users
。