неопределенная ошибка метода в представлении - PullRequest
0 голосов
/ 10 февраля 2012

Я занимаюсь разработкой приложения rails, и есть метод, называемый ned внутри контроллера страниц.Я хочу отобразить form_for(@pages), но это дает мне эту ошибку:

`NoMethodError in Pages#new

Showing C:/rorapp/app/views/pages/_form.html.erb where line #1 raised:

undefined method `pages_path' for #<#<Class:0x5a8d840>:0x5a8a558>
Extracted source (around line #1):

1: <%= form_for(@pages) do |f| %>
2:   
3: <% end %>
Trace of template inclusion: app/views/pages/new.html.erb

Rails.root: C:/rorapp

Application Trace | Framework Trace | Full Trace
app/views/pages/_form.html.erb:1:in `_app_views_pages__form_html_erb__975660997_47429844'
app/views/pages/new.html.erb:2:in `_app_views_pages_new_html_erb___256256638_47474016'
app/controllers/pages_controller.rb:11:in `new'`

Вот мой метод контроллера в страницах контроллера:

def new
    @pages = Page.new

    respond_to do |format|
    format.html  # new.html.erb
    format.json  { render :json => @post }
    end
  end

Вот частичное представление формы _form.html.erb:

<%= form_for(@pages) do |f| %>

<% end %>

и вот как я использую его в представлении new.html.erb: <%= render 'form' %> В чем может быть проблема?

РЕДАКТИРОВАТЬ -1

Вот мой вывод команды Rake Routs:

home_index  GET  /home/index(.:format)      {:controller=>"home", :action=>"index"}
home_search POST /home/search(.:format)     {:controller=>"home", :action=>"search"}
home__help  GET  /home/_help(.:format)      {:controller=>"home", :action=>"_help"}
home_create GET  /home/create(.:format)     {:controller=>"home", :action=>"create"}
pages_index GET  /pages/index(.:format)     {:controller=>"pages", :action=>"index"}
pages_new   GET  /pages/new(.:format)       {:controller=>"pages", :action=>"new"}
            POST /pages/new(.:format)       {:controller=>"pages", :action=>"new"}
pages_edit  POST /pages/edit(.:format)      {:controller=>"pages", :action=>"edit"}
            GET  /pages/edit(.:format)      {:controller=>"pages", :action=>"edit"}
root             /                          {:controller=>"home", :action=>"index"}
                 /:controller(/:action(/:id(.:format)))

1 Ответ

1 голос
/ 10 февраля 2012

@ mad_programmer - Пожалуйста, добавьте resources :pages в ваш файл routes.rb, как и другие.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...