1

我正在尝试通过在 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

4

2 回答 2

1

您正在从 rails 2 升级到 rails 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

form_for自 rails 2 以来没有改变。所以你可以像以前一样使用它。

看:

于 2013-09-11T07:21:26.463 回答
0

包括这个

post "homepage/homepage"

我猜会做你想做的事,但它使用你在 homepage_controller.rb 中的代码来处理表单。请参阅 Damien MATHIEU 答案中的链接,以了解有关升级和路由的更多信息。

于 2013-09-11T09:46:37.683 回答