2013-06-28 3 views
0

Когда я перехожу в/отношения/индекс, он отображает страницу показа, даже если она не упоминается в контроллере? Затем, когда я пытаюсь просто перейти к представлению индекса без созданной страницы показа, я получаю следующую ошибку: Неизвестное действие: действие «показать» не удалось найти для контроллера отношений, даже без упоминания об этом в контроллере или представлении файл для действия.Индекс перенаправляется на Показать Показать

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 

relationships_controller.rb

class RelationshipsController < ApplicationController 

    def index 
    end 

    def new 
     @relationship = Relationship.new 
    end 
end 

Тогда просто HTML в index.html.erb, show.html.erb и new.html.erb файл.

+0

Я не вижу, что вы здесь просите. – corsiKa

ответ

0

Это потому, что /relationship путь для relationships#index. Если вы перейдете на /relationships/index, маршрутизатор Rails предполагает, что вы хотите перейти на relationships#show путь с params[:id] == 'index'.

0

Даже если вы хотите принять меры index, вы не вводите index в адрес. В противном случае он думает, что вы пытаетесь найти Relationship с идентификатором index.

Так что просто перейдите к /relationships.

0

Перейти к консоли, а затем запустить:

rake routes 

Это даст вам все маршруты приложение понять

В каком-то месте этих маршрутов вы будете иметь что-то вроде:

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

Проблема в том, что приложение понимает /отношения/индекс как отношения с id = ind ex

Исправить? использование /relationships url