2013-12-10 2 views
0

У меня возникла эта ошибка при загрузке index.html.rb.Ошибка неопределенного метода `time_series_path '

undefined method `time_series_path' for #<#<Class:0x007f6aac0d2a28>:0x007f6aac0d1358> 

В routes.rb У меня есть

namespace :viewer do 
    resources :time_series 
end 

В TimeSeriesController У меня есть

class Viewer::TimeSeriesController < ApplicationController 
    def show 
    @time_series = TimeSeries.find(params[:id]) 
    end 

    def index 
    @time_series = TimeSeries.all.paginate(:page => params[:page], :per_page => 20) 
    end 
end 

В index.html.rb У меня есть

<h1>Listing of time series</h1> 

<table > 
    <tr> 
    <th>Kind</th> 
    <th></th> 
    </tr> 
    <% @time_series.each do |t| %> 
    <tr> 
     <td><%= t.kind %></td> 
     <td><%= link_to 'Show', t %></td> 
    </tr> 
    <% end %> 
</table> 
<%= will_paginate @time_series %> 

ошибка происходит для link_to 'Show'.

Любые идеи о том, как решить эту проблему? Благодарю.

ответ

1

Если вы используете пространство имен, пространство имен становится частью имени маршрута.

viewer_time_series_path 

не

time_series_path 

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

rake routes 

и Grep немедленно проверить имя

rake routes | grep time_series 

В вашем коде вы либо передаете именаpa се, как массив в link_to помощник вместе с объектом

<%= link_to 'Show', [:viewer, t] %> 

или (я предпочитаю это решение) Вы пишете соответствующий путь в явном виде.

+0

Это сработало. Благодаря! –

Смежные вопросы