如何使用属于另一个模型的模型的控制器的索引动作?

艾雅格

我正在编写Rails应用程序,以处理大学课程的时间表。当前,我正在尝试建立索引页面以显示数据库中的所有部分,但出现此错误:

No route matches {:action=>"index", :controller=>"sections"}

但是,当我查看路线时,可以看到节和索引的控制器动作对。

bin/rails routes
               Prefix Verb   URI Pattern                                                                              Controller#Action
           home_index GET    /home/index(.:format)                                                                    home#index
      course_sections GET    /courses/:course_id/sections(.:format)                                                   sections#index
                      POST   /courses/:course_id/sections(.:format)                                                   sections#create
   new_course_section GET    /courses/:course_id/sections/new(.:format)                                               sections#new
  edit_course_section GET    /courses/:course_id/sections/:id/edit(.:format)                                          sections#edit
       course_section GET    /courses/:course_id/sections/:id(.:format)                                               sections#show
                      PATCH  /courses/:course_id/sections/:id(.:format)                                               sections#update
                      PUT    /courses/:course_id/sections/:id(.:format)                                               sections#update
                      DELETE /courses/:course_id/sections/:id(.:format)                                               sections#destroy
              courses GET    /courses(.:format)                                                                       courses#index
                      POST   /courses(.:format)                                                                       courses#create
           new_course GET    /courses/new(.:format)                                                                   courses#new
          edit_course GET    /courses/:id/edit(.:format)                                                              courses#edit
               course GET    /courses/:id(.:format)                                                                   courses#show
                      PATCH  /courses/:id(.:format)                                                                   courses#update
                      PUT    /courses/:id(.:format)                                                                   courses#update
                      DELETE /courses/:id(.:format)                                                                   courses#destroy
             students GET    /students(.:format)                                                                      students#index
                      POST   /students(.:format)                                                                      students#create
          new_student GET    /students/new(.:format)                                                                  students#new
         edit_student GET    /students/:id/edit(.:format)                                                             students#edit
              student GET    /students/:id(.:format)                                                                  students#show
                      PATCH  /students/:id(.:format)                                                                  students#update
                      PUT    /students/:id(.:format)                                                                  students#update
                      DELETE /students/:id(.:format)                                                                  students#destroy
                 root GET    /                                                                                        home#index
   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

为什么路由不正确?

我的部分控制器如下所示:

class SectionsController < ApplicationController

    def index
        @courses = Course.all
    end

    def create
        @course = Course.find(params[:course_id])
        @section = @course.sections.create(section_params)
    end

    def update
        @course = Course.find(params[:course_id])
        @section = @course.sections.find(params[:id])
        @section.update(section_params)
    end

    def destroy
        @course = Course.find(params[:course_id])
        @section = @course.sections.find(params[:id])
        @section.destroy
    end

    private
        def section_params
            params.require(:section).permit(:section_letter, :section_professor, :section_meetings, :section_capacity)
        end
end

我的sections文件夹中的index.html.erb视图如下所示:

<h2>Sections</h2>

<table>
    <tr>
        <th>Number</th>
        <th>Section</th>
        <th>Name</th>
        <th>Credit Hours</th>
        <th>Professor</th>
        <th>Meetings</th>
        <th>Capacity</th>
    </tr>
    <% @courses.each do |course| %>
        <% course.sections.each do |section| %>
            <tr>
                <td><%= course.course_num %></td>
                <td><%= section.section_letter %></td>
                <td><%= course.course_name %></td>
                <td><%= course.course_credits %></td>
                <td><%= section.section_professor %></td>
                <td><%= section.section_meetings %></td>
                <td><%= section.section_capacity %></td>
            </tr>
        <% end %>
    <% end %>

</table>

我的路线文件如下所示:

Rails.application.routes.draw do
  get 'home/index'

  resources :courses do
    resources :sections
  end
  resources :students

  root 'home#index'
end

任何帮助表示赞赏!

科迪·考兰

这是因为section控制器是Course资源下的嵌套资源。有一个,sections#index但是需要一个:course_id参数。

换句话说,没有/sections路径可以直接映射到sections#index

如果是一次性端点,则可以声明此路由

get 'sections' => 'sections#index', as: :sections

然后,您需要更新中的#index方法,然后SectionsController像这样拉动所有节

@sections = Section.all

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在控制器中访问另一个模型中的角度模型?

来自分类Dev

使用另一个模型过滤一个控制器的内容(AngularJS)

来自分类Dev

使用另一个模型过滤一个控制器的内容(AngularJS)

来自分类Dev

如何从控制器动作中调用另一个控制器动作?

来自分类Dev

如何在另一个模型的控制器操作中初始化一个模型?

来自分类Dev

如何访问属于prestashop 1.6中另一个控制器/模型的.tpl文件中的数据库数据?

来自分类Dev

如何将模型传递给另一个区域的控制器?

来自分类Dev

如何从另一个控制器获取模型的当前ID?

来自分类Dev

如何观看但只更新来自另一个控制器的事件的模型

来自分类Dev

如何从另一个控制器更新控制器的ng-repeat模型?

来自分类Dev

如何从另一个控制器访问另一个控制器的动作

来自分类Dev

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

来自分类Dev

如何访问另一个控制器动作中的一个控制器动作?

来自分类Dev

如何使用布局中另一个控制器的动作?

来自分类Dev

Rails:基于另一个模型的控制器中的参数创建新模型

来自分类Dev

codeigniter-在控制器中使用模型结果来处理另一个模型查询

来自分类Dev

将模型从一个控制器传递到另一个

来自分类Dev

从另一个控制器触发一个控制器的“动作”

来自分类Dev

在控制器动作中插入另一个控制器动作

来自分类Dev

在AngularJS中,如何将一个控制器的模型与另一个控制器的数据绑定?

来自分类Dev

如何通过重定向URL将模型属性对象的值从一个控制器传递到另一个控制器

来自分类Dev

Rails:如何使一个模型“属于”另一个模型?

来自分类Dev

Rails:如何使一个模型“属于”另一个模型?

来自分类Dev

访问属于另一个模型的模型

来自分类Dev

如何将视图模型从其他模块公开到另一个模块中的控制器?

来自分类Dev

如何将视图模型从其他模块公开到另一个模块中的控制器?

来自分类Dev

Rails 4:从另一个控制器的角度访问模型

来自分类Dev

Ruby在轨道上。从另一个控制器内部创建“模型”

来自分类Dev

从控制器中的另一个模型访问变量

Related 相关文章

  1. 1

    如何在控制器中访问另一个模型中的角度模型?

  2. 2

    使用另一个模型过滤一个控制器的内容(AngularJS)

  3. 3

    使用另一个模型过滤一个控制器的内容(AngularJS)

  4. 4

    如何从控制器动作中调用另一个控制器动作?

  5. 5

    如何在另一个模型的控制器操作中初始化一个模型?

  6. 6

    如何访问属于prestashop 1.6中另一个控制器/模型的.tpl文件中的数据库数据?

  7. 7

    如何将模型传递给另一个区域的控制器?

  8. 8

    如何从另一个控制器获取模型的当前ID?

  9. 9

    如何观看但只更新来自另一个控制器的事件的模型

  10. 10

    如何从另一个控制器更新控制器的ng-repeat模型?

  11. 11

    如何从另一个控制器访问另一个控制器的动作

  12. 12

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

  13. 13

    如何访问另一个控制器动作中的一个控制器动作?

  14. 14

    如何使用布局中另一个控制器的动作?

  15. 15

    Rails:基于另一个模型的控制器中的参数创建新模型

  16. 16

    codeigniter-在控制器中使用模型结果来处理另一个模型查询

  17. 17

    将模型从一个控制器传递到另一个

  18. 18

    从另一个控制器触发一个控制器的“动作”

  19. 19

    在控制器动作中插入另一个控制器动作

  20. 20

    在AngularJS中,如何将一个控制器的模型与另一个控制器的数据绑定?

  21. 21

    如何通过重定向URL将模型属性对象的值从一个控制器传递到另一个控制器

  22. 22

    Rails:如何使一个模型“属于”另一个模型?

  23. 23

    Rails:如何使一个模型“属于”另一个模型?

  24. 24

    访问属于另一个模型的模型

  25. 25

    如何将视图模型从其他模块公开到另一个模块中的控制器?

  26. 26

    如何将视图模型从其他模块公开到另一个模块中的控制器?

  27. 27

    Rails 4:从另一个控制器的角度访问模型

  28. 28

    Ruby在轨道上。从另一个控制器内部创建“模型”

  29. 29

    从控制器中的另一个模型访问变量

热门标签

归档