Ruby on rails ActionController::RoutingError没有与[GET]匹配的路由/“故事”;
操作系统:openSUSE 11.4 Rails 3.2.0 我刚刚创建了一个非常简单的应用程序“koko”。以下是我运行的命令顺序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/工
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"