代码之家  ›  专栏  ›  技术社区  ›  Cédric MEYER

页面中的NoMethodError#新的未定义方法“Pages\u index\u path”

  •  1
  • Cédric MEYER  · 技术社区  · 8 年前

    路线。rb型

    Rails.application.routes.draw do
      devise_for :users
      devise_for :models
    
      root to: 'pages#home'
      resources :pages
    end
    

    控制器/pages\U控制器。rb型

    class PagesController < ApplicationController
      def index
        @pages = Pages.all
      end
    
      def show
        @page = Pages.find(params[:id])
      end
    
      def edit
        @page = Pages.find(params[:id])
      end
    
      def update
        @page = Pages.find(params[:id])
        @page.update(page_params)
        redirect_to page_path
      end
    
      def new
        @page = Pages.new
      end
    
      def create
        page = Pages.create(page_params)
        redirect_to page_path(page.id)
      end
    
      private
    
      def page_params
        params.require(:pages).permit(:name, :content)
      end
    
    end
    

    <h1>Créer une fiche</h1>
    
    <%= form_for @page do |g| %>
        <div class="form-group">
            <label>Titre de la fiche</label>
            <%= g.text_field :name, class: 'form-control' %>
        </div>
        <div class="form-group">
            <label>Contenu de la fiche</label>
            <%= g.text_area :content, class: 'form-control', size: "60x12" %>
        </div>
        <div class="form-group">
            <%= g.submit "Ajouter la fiche", class: 'btn btn-primary' %>
        </div>
    <% end %>
    
    <a href="<%= pages_path %>" class="btn btn-primary">Revenir à la liste des fiches</a>
    

    Displayed error on Mozilla

    相同的表单正在工作 如果我删除表单并尝试直接转储 @page 具有 <%= @page %> 它回来了 #<Pages:0x000055de2b6a2b10>

    1 回复  |  直到 8 年前
        1
  •  2
  •   jaspreet-singh-3911    8 年前

    您可以手动指定表单的url。

    <%= form_for @page, url: pages_path, method: :post do |g| %>