0

当我转到 /relationships/index 时,即使控制器中没有提到它,它也会显示显示页面?然后,当我尝试只转到未创建显示页面的索引视图时,我收到以下错误:未知操作:找不到关系控制器的操作“显示”,即使在控制器或视图中没有提及它行动的文件。

路线.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

关系控制器.rb

class RelationshipsController < ApplicationController

    def index
    end

    def new
        @relationship = Relationship.new
    end
end

然后只是 index.html.erb、show.html.erb 和 new.html.erb 文件中的 HTML。

4

3 回答 3

0

转到控制台,然后运行:

rake routes

它将为您提供您的应用程序理解的所有路线

在这条路线的某些地方,您将有类似的东西:

relationships    relationships#index  /relationships
relationship     relationships#show   /relationships/:id

您遇到的问题是应用程序将/relationships/index理解为与id=index的关系

修复?使用/relationships网址

于 2013-06-28T20:02:57.023 回答
0

即使您想要该index操作,也不要输入index网址。否则,它会认为您正在尝试查找Relationshipid 为 的index

所以就去吧/relationships

于 2013-06-28T19:58:16.737 回答
0

这是因为/relationshippath 是 for relationships#index。如果你去/relationships/index,Rails 路由器假定你想去relationships#show路径params[:id] == 'index'

于 2013-06-28T19:57:22.153 回答