如何在 Rails 中将控制权从一个控制器传递到另一个控制器?

楼主

我有一个名为Page_controller 的控制器和另一个名为Categories_controller 的控制器现在每当Page_controller 中home方法被调用时,我想被重定向到 a´categories 控制器,因为我想从那一刻起控制 Category 视图。这是我写的:

class PagesController < ApplicationController
  def home
  @categories = Category.all
  redirect_to category_url(@category)
end
end

但是当我打开服务器时出现错误:

undefined method `category_url' for #<PagesController:0x000000000b24ce20>

对于该行:

redirect_to category_url(@category)

有谁知道我如何将控制权从一个控制器传递给另一个控制器?我真的很绝望,所以感谢你能提供的任何帮助

编辑:这是我的 routes.rb 文件:

Rails.application.routes.draw do
  resources :comments
  #resources :categories
  root to: 'pages#home'
  get 'index', to: 'controller_category#index'

  devise_for :users
end

从控制台打印出来的路由:

C:\Users\andri\Desktop\proj>bundle exec rake routes
                   Prefix Verb   URI Pattern                                                                              Controller#Action
                 comments GET    /comments(.:format)                                                                      comments#index
                          POST   /comments(.:format)                                                                      comments#create
              new_comment GET    /comments/new(.:format)                                                                  comments#new
             edit_comment GET    /comments/:id/edit(.:format)                                                             comments#edit
                  comment GET    /comments/:id(.:format)                                                                  comments#show
                          PATCH  /comments/:id(.:format)                                                                  comments#update
                          PUT    /comments/:id(.:format)                                                                  comments#update
                          DELETE /comments/:id(.:format)                                                                  comments#destroy
                     root GET    /                                                                                        pages#home
                    index GET    /index(.:format)                                                                         controller_category#index
         new_user_session GET    /users/sign_in(.:format)                                                                 devise/sessions#new
             user_session POST   /users/sign_in(.:format)                                                                 devise/sessions#create
     destroy_user_session DELETE /users/sign_out(.:format)                                                                devise/sessions#destroy
        new_user_password GET    /users/password/new(.:format)                                                            devise/passwords#new
       edit_user_password GET    /users/password/edit(.:format)                                                           devise/passwords#edit
            user_password PATCH  /users/password(.:format)                                                                devise/passwords#update
                          PUT    /users/password(.:format)                                                                devise/passwords#update
                          POST   /users/password(.:format)                                                                devise/passwords#create
 cancel_user_registration GET    /users/cancel(.:format)                                                                  devise/registrations#cancel
    new_user_registration GET    /users/sign_up(.:format)                                                                 devise/registrations#new
   edit_user_registration GET    /users/edit(.:format)                                                                    devise/registrations#edit
        user_registration PATCH  /users(.:format)                                                                         devise/registrations#update
                          PUT    /users(.:format)                                                                         devise/registrations#update
                          DELETE /users(.:format)                                                                         devise/registrations#destroy
                          POST   /users(.:format)                                                                         devise/registrations#create
       rails_service_blob GET    /rails/active_storage/blobs/:signed_id/*filename(.:format)                               active_storage/blobs#show
rails_blob_representation GET    /rails/active_storage/representations/:signed_blob_id/:variation_key/*filename(.:format) active_storage/representations#show
       rails_disk_service GET    /rails/active_storage/disk/:encoded_key/*filename(.:format)                              active_storage/disk#show
update_rails_disk_service PUT    /rails/active_storage/disk/:encoded_token(.:format)                                      active_storage/disk#update
     rails_direct_uploads POST   /rails/active_storage/direct_uploads(.:format)                                           active_storage/direct_uploads#create
很好

在你的 routes.rb 文件中取消注释这一行:

#resources :categories

这将为类别定义一组路由,这将为您提供诸如category_url(category).

您还需要一个 CategoriesController,否则您的下一个问题将是重定向产生错误(没有这样的控制器)。并且您需要实施CategoriesController#show.

请参阅https://guides.rubyonrails.org/getting_started.htmlhttps://guides.rubyonrails.org/routing.html

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Ruby on Rails中,如何将控制权传递给另一个控制器中的动作?

来自分类Dev

如何在Rails中将数据从一个模型/控制器发送到另一个模型/控制器

来自分类Dev

如何将值从模型中的方法传递到另一个方法,或将控制器中的控制器传递给Rails

来自分类Dev

如何使资源重定向到Rails中的另一个控制器

来自分类Dev

Rails如何在控制器中获取@products以传递给另一个Java脚本

来自分类Dev

如何在Rails上的ruby中重定向到另一个控制器动作

来自分类Dev

如何在Codeigniter中将数组从一个类控制器传递到另一个

来自分类Dev

如何使def从同一控制器的另一个def继承Rails 4

来自分类Dev

如何在ASP MVC设置中将AngularJS中的变量从一个控制器传递到另一个控制器?

来自分类Dev

如何在CakePHP 3中将数据从一个控制器传递到另一个控制器?

来自分类Dev

如何在ASP MVC设置中将AngularJS中的变量从一个控制器传递到另一个控制器?

来自分类Dev

如何在angularjs中将对象数据从一个控制器传递到另一个控制器

来自分类Dev

如何将动作转发到Rails中的另一个控制器?

来自分类Dev

如何从另一个Rails控制器访问方法

来自分类Dev

如何从 Rails 中的另一个控制器获取帖子的 ID?

来自分类Dev

如何在Laravel中将值从一个控制器传递给另一个控制器

来自分类Dev

如何在Laravel中将值从一个控制器传递给另一个控制器

来自分类Dev

如何从一个控制器到另一个控制器共享阵列

来自分类Dev

如何将数据从一个视图控制器传递到另一个视图控制器,并且在视图控制器之间有一个显示视图控制器

来自分类Dev

Ruby on Rails:如何使用不同的控制器将一个视图/页面链接/路由到另一个视图/页面

来自分类Dev

Rails-将参数从一个视图传递到另一个控制器

来自分类Dev

Rails 4将参数从一个控制器传递到另一个

来自分类Dev

Rails 4将参数从一个控制器传递到另一个

来自分类Dev

Rails:如何从一个控制器的动作中渲染多个部分?

来自分类Dev

如何使用 Laravel 在一个控制器中将数据从一个函数传递到另一个函数?

来自分类Dev

如何从HTML ERB文件链接到Rails中的另一个视图(来自同一控制器)?

来自分类Dev

如何从HTML ERB文件链接到Rails中的另一个视图(来自同一控制器)?

来自分类Dev

如何将对象数组从一个控制器传递到另一个?

来自分类Dev

如何将数据从一个视图控制器传递到另一个SWIFT

Related 相关文章

  1. 1

    在Ruby on Rails中,如何将控制权传递给另一个控制器中的动作?

  2. 2

    如何在Rails中将数据从一个模型/控制器发送到另一个模型/控制器

  3. 3

    如何将值从模型中的方法传递到另一个方法,或将控制器中的控制器传递给Rails

  4. 4

    如何使资源重定向到Rails中的另一个控制器

  5. 5

    Rails如何在控制器中获取@products以传递给另一个Java脚本

  6. 6

    如何在Rails上的ruby中重定向到另一个控制器动作

  7. 7

    如何在Codeigniter中将数组从一个类控制器传递到另一个

  8. 8

    如何使def从同一控制器的另一个def继承Rails 4

  9. 9

    如何在ASP MVC设置中将AngularJS中的变量从一个控制器传递到另一个控制器?

  10. 10

    如何在CakePHP 3中将数据从一个控制器传递到另一个控制器?

  11. 11

    如何在ASP MVC设置中将AngularJS中的变量从一个控制器传递到另一个控制器?

  12. 12

    如何在angularjs中将对象数据从一个控制器传递到另一个控制器

  13. 13

    如何将动作转发到Rails中的另一个控制器?

  14. 14

    如何从另一个Rails控制器访问方法

  15. 15

    如何从 Rails 中的另一个控制器获取帖子的 ID?

  16. 16

    如何在Laravel中将值从一个控制器传递给另一个控制器

  17. 17

    如何在Laravel中将值从一个控制器传递给另一个控制器

  18. 18

    如何从一个控制器到另一个控制器共享阵列

  19. 19

    如何将数据从一个视图控制器传递到另一个视图控制器,并且在视图控制器之间有一个显示视图控制器

  20. 20

    Ruby on Rails:如何使用不同的控制器将一个视图/页面链接/路由到另一个视图/页面

  21. 21

    Rails-将参数从一个视图传递到另一个控制器

  22. 22

    Rails 4将参数从一个控制器传递到另一个

  23. 23

    Rails 4将参数从一个控制器传递到另一个

  24. 24

    Rails:如何从一个控制器的动作中渲染多个部分?

  25. 25

    如何使用 Laravel 在一个控制器中将数据从一个函数传递到另一个函数?

  26. 26

    如何从HTML ERB文件链接到Rails中的另一个视图(来自同一控制器)?

  27. 27

    如何从HTML ERB文件链接到Rails中的另一个视图(来自同一控制器)?

  28. 28

    如何将对象数组从一个控制器传递到另一个?

  29. 29

    如何将数据从一个视图控制器传递到另一个SWIFT

热门标签

归档