Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/67.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 ActionController::RoutingError没有与[GET]匹配的路由/“故事”;_Ruby On Rails_Rails Routing - Fatal编程技术网

Ruby on rails ActionController::RoutingError没有与[GET]匹配的路由/“故事”;

Ruby on rails ActionController::RoutingError没有与[GET]匹配的路由/“故事”;,ruby-on-rails,rails-routing,Ruby On Rails,Rails Routing,操作系统:openSUSE 11.4 Rails 3.2.0 我刚刚创建了一个非常简单的应用程序“koko”。以下是我运行的命令顺序 rails new koko rails generate model Story name:string description:string rake db:migrate rails generate controller Stories index 以上所有命令均已成功执行。 然后我运行=>rails服务器来启动服务器。 localhost:3000/工

操作系统:openSUSE 11.4 Rails 3.2.0

我刚刚创建了一个非常简单的应用程序“koko”。以下是我运行的命令顺序

rails new koko
rails generate model Story name:string description:string
rake db:migrate
rails generate controller Stories index
以上所有命令均已成功执行。 然后我运行=>rails服务器来启动服务器。 localhost:3000/工作正常

当我试着去做 localhost:3000/stores我收到以下错误:(浏览器显示关于没有路由匹配的第一行)


您的问题是您试图使用RESTful接口来访问非RESTful资源。您创建了一个模型,并创建了一个带有索引操作的控制器(
/controller\u name/action

如果您对使用
/stories/index
感到满意,那么我们就完成了!如果您更喜欢传统的RESTful界面
/stories
,那么我建议您使用:

rails生成资源ModelName字段:类型

这将创建一个模型和一个控制器,并且应该可以在开箱即用的情况下轻松工作。这将设置注释中提到的路线


希望这有帮助

您可能只是有一些命名问题。通常,在创建控制器时,应该

rails g controller stories index

然后将自动生成的路线更改为

match "/stories" => "stories#index", :as => "stories"

这是路由文件:Koso::Application.routes.draw do get“stories/index”endTry更改路由文件,使其具有资源:stories而不是get“故事/索引谢谢你。是的,就是这样,Modelname和ControllerName之间存在一个简单的不匹配。一个是故事,另一个是故事。再次感谢你!!事实上我不需要改变路线
rails g controller Story index
match "/stories" => "stories#index", :as => "stories"