nur*_*tin 12 ruby-on-rails ruby-on-rails-3
当我做
rails g model user name:string
rails g controller users index create new destroy show
Run Code Online (Sandbox Code Playgroud)
并编辑config/routes.rb以添加:
resource :users
Run Code Online (Sandbox Code Playgroud)
捆绑exec rake路线给出:
users POST /users(.:format) {:action=>"create", :controller=>"users"}
new_users GET /users/new(.:format) {:action=>"new", :controller=>"users"}
edit_users GET /users/edit(.:format) {:action=>"edit", :controller=>"users"}
GET /users(.:format) {:action=>"show", :controller=>"users"}
PUT /users(.:format) {:action=>"update", :controller=>"users"}
DELETE /users(.:format) {:action=>"destroy", :controller=>"users"}
Run Code Online (Sandbox Code Playgroud)
但是,当我这样做的时候
rails g resource users name:string
Run Code Online (Sandbox Code Playgroud)
(自动添加资源:用户到config/routes.rb)捆绑exec rake路由
我明白了
users GET /users(.:format) {:action=>"index", :controller=>"users"}
POST /users(.:format) {:action=>"create", :controller=>"users"}
new_user GET /users/new(.:format) {:action=>"new", :controller=>"users"}
edit_user GET /users/:id/edit(.:format) {:action=>"edit", :controller=>"users"}
user GET /users/:id(.:format) {:action=>"show", :controller=>"users"}
PUT /users/:id(.:format) {:action=>"update", :controller=>"users"}
DELETE /users/:id(.:format) {:action=>"destroy", :controller=>"users"}
Run Code Online (Sandbox Code Playgroud)
所以我的问题是,
当我生成一个控制器时,如何获得正确的帮助方法来使link_to'Destroy',实例,:method =>:删除工作?
因为当前它给出了错误,所以没有定义user_path.
jnk*_*rkt 13
你应该打电话
rails g controller user index create new destroy show
Run Code Online (Sandbox Code Playgroud)
代替
rails g controller users index create new destroy show
Run Code Online (Sandbox Code Playgroud)
为了resources :users给你你想要的帮手.
后者导致Rails假设它users是一个单一的对象,并且resources :users应该创建所谓的奇异资源:
http://guides.rubyonrails.org/routing.html#singular-resources
因此,user_path未定义,而users_path定义.
| 归档时间: |
|
| 查看次数: |
16826 次 |
| 最近记录: |