Ruby on rails 正在重定向到显示视图的索引

Ruby on rails 正在重定向到显示视图的索引,ruby-on-rails,model-view-controller,routing,Ruby On Rails,Model View Controller,Routing,当我转到/relationships/index时,它会显示显示页面,即使控制器中没有提到它?然后,当我尝试在没有创建显示页面的情况下直接转到索引视图时,我得到以下错误:未知操作:找不到relationships controller的操作“show”,即使在控制器或该操作的视图文件中没有提及该操作 routes.rb Mymanual::Application.routes.draw do resources :validation_rules resources :validat

当我转到/relationships/index时,它会显示显示页面,即使控制器中没有提到它?然后,当我尝试在没有创建显示页面的情况下直接转到索引视图时,我得到以下错误:未知操作:找不到relationships controller的操作“show”,即使在控制器或该操作的视图文件中没有提及该操作

routes.rb

Mymanual::Application.routes.draw do

  resources :validation_rules

  resources :validations

  resources :product_types

  resources :products

  resources :connections

  resources :relationships

  root :to => 'products#index'
end
关系\u controller.rb

class RelationshipsController < ApplicationController

    def index
    end

    def new
        @relationship = Relationship.new
    end
end
类关系控制器

然后只需index.HTML.erb、show.HTML.erb和new.HTML.erb文件中的HTML

这是因为
/relationship
路径用于
关系#索引
。如果您转到
/relationships/index
,Rails router会假定您想要转到
relationships#显示带有
参数[:id]=“index”
的路径

即使要执行
索引
操作,也不要在url中输入
索引
。否则,它认为您正在试图找到id为
index
关系


因此,只需转到
/relationships

转到控制台,然后运行:

rake routes
它会让你的应用程序了解所有路线

在这条路线的某个地方,您将看到如下内容:

relationships    relationships#index  /relationships
relationship     relationships#show   /relationships/:id
您遇到的问题是,应用程序将/relationships/index理解为与id=index


修复?使用
/relationships
url

我看不出你在问什么。