我试图通过在rails 4.0.0中创建它来创建一个现有项目。
现有routes.rb
包含:
ActionController::Routing::Routes.draw do |map|
map.root :controller => "homepage", :action => 'homepage'
map.connect ':controller/:action/:id'
map.connect ':controller/:action/:id.:format'
end
我新创建的项目routes.rb
由
Myapp::Application.routes.draw do
get "homepage/homepage"
end
我在samp / app / views / homepage / homepage.html.erb中有一个表单 我现在应该改变什么? ,为了使路线正确,所以当我点击提交时,它会调用homepage_controller.rb
答案 0 :(得分:1)
您正在从导轨2升级到导轨4.
这些变化比仅仅改变DSL更加深刻。
您不应再拥有通用:controller/:action/:id
路线了
相反,您应该生成resources
。
Myapp::Application.routes.draw do
resources :posts
end
这将生成以下路线:
posts GET /posts(.:format) posts#index
POST /posts(.:format) posts#create
new_post GET /posts/new(.:format) posts#new
edit_post GET /posts/:id/edit(.:format) posts#edit
post GET /posts/:id(.:format) posts#show
PATCH /posts/:id(.:format) posts#update
PUT /posts/:id(.:format) posts#update
DELETE /posts/:id(.:format) posts#destroy
自从rails 2以来, form_for
没有改变。所以你可以像以前一样使用它。
请参阅:
答案 1 :(得分:0)
包括此
post "homepage/homepage"
会做我想要的,但它与你在homepage_controller.rb中的代码一起处理表单。请参阅Damien MATHIEU答案中的链接,了解有关升级和路由的更多信息。