我正在为我的第二个Rails项目(第一个不是按照教程操作的)搭建环境,但在路由设置上遇到了问题。 我的routes.rb文件如下所示:
AnimalApp::Application.routes.draw do
root to: 'static_pages#index'
# resources :animal
match '/help', to: 'static_pages#help'
match '/about', to: 'static_pages#about'
match '/contact', to: 'static_pages#contact'
match '/league', to: 'static_pages#league'
match '/animal', to: 'animal#new'
除了我无法访问我的动物!前往/animal/1会出现错误:No route matches [GET] "/animal/1"
为了解决这个问题,我更改了我的路由如下:
AnimalApp::Application.routes.draw do
root to: 'static_pages#index'
resources :animal
match '/help', to: 'static_pages#help'
match '/about', to: 'static_pages#about'
match '/contact', to: 'static_pages#contact'
match '/league', to: 'static_pages#league'
#match '/animal', to: 'animal#new'
然而,当我尝试查看我的网站上的其他页面时,出现以下错误:
No route matches {:action=>"show", :controller=>"animal"}
更多信息请参见下面的控制器: (静态页面)
class StaticPagesController < ApplicationController
def help
end
def league
end
def contact
end
def about
end
def index
end
def show
end
end
动物控制器
class AnimalController < ApplicationController
def new
@animal = Animal.new
end
def show
@animal = Animal.new
end
end
而且,我运行了rake routes
命令,得到如下结果:
animal_index GET /animal(.:format) animal#index
POST /animal(.:format) animal#create
new_animal GET /animal/new(.:format) animal#new
edit_animal GET /animal/:id/edit(.:format) animal#edit
animal GET /animal/:id(.:format) animal#show
PUT /animal/:id(.:format) animal#update
DELETE /animal/:id(.:format) animal#destroy
root / static_pages#index
help /help(.:format) static_pages#help
about /about(.:format) static_pages#about
contact /contact(.:format) static_pages#contact
league /league(.:format) static_pages#league
/animal(.:format) animal#new
有人知道我该如何恢复我的网站,并允许我在URI /animal/[:id]下查看我的动物数据库中的对象吗?请注意,不要删除HTML标签。
localhost:3000/
为主要示例),与之前相同的错误出现,但现在访问/animals/1
时出现“未初始化常量AnimalsController”的错误。 - Kali_89AnimalController
更改为AnimalsController
。 - Prakash Murthy