localhost: 3000 / my-scope / pages / new throws Нет подходящих маршрутов {: action => "show",: controller => "pages"} - PullRequest
0 голосов
/ 02 декабря 2011

Я понял!

   = link_to 'Zurück', page_path

Это не работает на новой странице.Страница еще не была создана, поэтому я не могу вернуться к ней ... Это, безусловно, хорошо работает в режиме "edit", где страница существует

Хорошая причина, чтобы потратить усилия, чтобы получить rspec длязапустить: -)

В любом случае, спасибо за комментарии!


Я получил немного дальше ....

Кажется, что маршрутизация работает.Но моя форма кажется проблемой?!

Это мой взгляд / pages / new.html.haml

= render 'form'

, и он будет обработан, если я сделаю это:%p Я должен быть формой для новой страницы ... = # render 'form'

Так что, похоже, проблема с моим _form.html.haml - который отлично работает для "edit"

= javascript_include_tag "#{root_url}javascripts/tiny_mce_head.js"
= form_for @page do |f|
  -if @page.errors.any?
    #error_explanation
      %h2= "#{pluralize(@page.errors.count, "error")} prohibited this page from being saved:"
      %ul
        - @page.errors.full_messages.each do |msg|
          %li= msg
  .field
    = f.text_area( :content, :class => 'mce_editor')
  .field
    = f.label :fan_only
    = f.check_box :fan_only
  .field
    = f.label :short_name
    %br
    = f.text_field :short_name
  .field
    = f.label :title
    %br
    = f.text_field :title
  .actions
    = f.submit 'Save'
    = link_to 'Zurück', page_path

Любые идеи ???

Я уже пробовал без javascript_include_tag


оригинальный пост

Я больше не могу создать новую страницу.Это работало, и я понятия не имею, почему это больше не работает!

Если я перехожу к http://localhost:3000/pages/new

, я получаю следующее сообщение:

No route matches {:action=>"show", :controller=>"pages"}

Этимои маршруты

      scope '/my-scope' do
        resources :pages do
          resources :articles
        end
      end
      root :to => 'pages#index'

маршруты рейка

    page_articles GET    /my-scope/pages/:page_id/articles(.:format)          {:action=>"index", :controller=>"articles"}
                  POST   /my-scope/pages/:page_id/articles(.:format)          {:action=>"create", :controller=>"articles"}
 new_page_article GET    /my-scope/pages/:page_id/articles/new(.:format)      {:action=>"new", :controller=>"articles"}
edit_page_article GET    /my-scope/pages/:page_id/articles/:id/edit(.:format) {:action=>"edit", :controller=>"articles"}
     page_article GET    /my-scope/pages/:page_id/articles/:id(.:format)      {:action=>"show", :controller=>"articles"}
                  PUT    /my-scope/pages/:page_id/articles/:id(.:format)      {:action=>"update", :controller=>"articles"}
                  DELETE /my-scope/pages/:page_id/articles/:id(.:format)      {:action=>"destroy", :controller=>"articles"}
            pages GET    /my-scope/pages(.:format)                            {:action=>"index", :controller=>"pages"}
                  POST   /my-scope/pages(.:format)                            {:action=>"create", :controller=>"pages"}
         new_page GET    /my-scope/pages/new(.:format)                        {:action=>"new", :controller=>"pages"}
        edit_page GET    /my-scope/pages/:id/edit(.:format)                   {:action=>"edit", :controller=>"pages"}
             page GET    /my-scope/pages/:id(.:format)                        {:action=>"show", :controller=>"pages"}
                  PUT    /my-scope/pages/:id(.:format)                        {:action=>"update", :controller=>"pages"}
                  DELETE /my-scope/pages/:id(.:format)                        {:action=>"destroy", :controller=>"pages"}
             root        /                                                    {:controller=>"pages", :action=>"index"}

методы контроллеров / pages_controller.rb show и new

  # GET /pages/1
  # GET /pages/1.json
  def show
    @page = Page.find(params[:id])

    respond_to do |format|
      format.html # show.html.erb
      format.json { render json: @page }
    end
  end

  # GET /pages/new
  # GET /pages/new.json
  def new
    @page = Page.new

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

Это мой взгляд / pages.html.haml

%p#notice= notice
%content.viewmode
  = raw parse_content @page.content
-#if admin?
  = link_to 'Edit page', edit_page_path(@page)
  = link_to 'New page', new_page_path
  = link_to 'Destroy page', @page, :confirm => 'Are you sure to delete page #{@page.title}?', :method => :delete
  = link_to 'New article', new_page_article_path(@page)
-if @page.articles.empty?
  / 
    = "No articles for page #{@page.short_name}"
- else
  %ul.article_list
    = show_articles

Я был бы рад, если бы кто-нибудь мог дать мне несколько идей, с чего начать поиск.Я пытался, но больше ничего не получил.

1 Ответ

2 голосов
/ 02 декабря 2011

Вы используете области, поэтому ваш URL должен быть http://localhost:3000/my-scope/pages/new

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